📄 standdb.pc.bak
字号:
#include "standdb.h"EXEC SQL DECLARE db_name DATABASE;EXEC SQL INCLUDE sqlca;/* huangliping remark*//** 函数介绍:连接数据库* 输入参数:usrname、paswrd、dbname* 处理 :根据输入的参数连接数据库* 输出参数:无* 返回值 :1--连接成功;0--连接失败*/int Connect_Database(char * usrname,char * paswrd,char * dbname){ EXEC SQL BEGIN DECLARE SECTION; char username[20] = ""; char password[20] = ""; char db_string[20] = "yljf"; EXEC SQL END DECLARE SECTION; /* WriteLogFile("Step in function Connect_Database\n"); */ strcpy(username,usrname); strcpy(password,paswrd); strcpy(db_string,dbname); printf(" begin to connect database........\n"); EXEC SQL CONNECT :username IDENTIFIED BY :password AT db_name USING :db_string; if(sqlca.sqlcode!=0) { printf("Can't Connect to yljf!\n"); /* WriteLogFile("Can't Connect to the Database\n"); */ return(0); } else { printf(" Connected to yljf\n"); /* WriteLogFile("Success connect to the Database!\n"); */ return(1); }}/* huangliping remark*//** 函数介绍:处理数据库操作过程中出现的错误* 输入参数:msg* 处理 :显示用户定义的错误信息和数据库错误信息* 输出参数:无* 返回值 :1--连接成功;0--连接失败*/void sqlerror (char * msg){ printf(msg); printf(" \nORACLE error detected: \n"); printf("%s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL ROLLBACK RELEASE; exit (1);} /******************************************************************************* 函数名: RollBackData* 作者: 林启鑫* 编写日期:2003.03.20* 函数功能:将已更新的内容回滚* 输入: * 输出: * 返回值: 无* 修改记录(如果有)* 注意事项:*******************************************************************************/void RollBackData(void){ EXEC SQL AT db_name ROLLBACK;}/******************************************************************************* 函数名: CommitData* 作者: 林启鑫* 编写日期:2003.03.20* 函数功能:将已更新的内容提交数据库* 输入: * 输出: * 返回值: 无* 修改记录(如果有)* 注意事项:*******************************************************************************/void CommitData(void){ EXEC SQL AT db_name COMMIT WORK;} /******************************************************************************* 函数名:读取属性状态值 * 作者: GuoQiuLiang * 编写日期:2005.07* 函数功能:* 输入: * 输出: * 返回值: 无* 修改记录(如果有)* 注意事项:*******************************************************************************/ void Read_Property(char property_num[11][20],char * mdl_code,char ac_pro_state[10],char ac_pro_code[10][10]){ EXEC SQL BEGIN DECLARE SECTION; /* char lc_property[10][20]; */ /* 监控属性数组 */ char lc_code[10]; /* 监控模块代码 */ char result; EXEC SQL END DECLARE SECTION; int i; for(i=0;i<11;i++) { if (strcmp(property_num[i],'\0')!=0 ) { EXEC SQL AT db_name Select state,moni_prop_code into :result,:lc_code from monitor_prop where description=:property_num[i] and mdl_code=:mdl_code; if (sqlca.sqlcode == 0) { ac_pro_state[i]=result; /* 取得属性状态值 */ strcpy(ac_pro_code[i],prune(lc_code)); } } else { ac_pro_state[i]='\0'; /* -1 结束状态 */ strcpy(ac_pro_code[i],'\0'); break; } } /*end for */ }/******************************************************************************* 函数名:读取对象状态值 * 作者: GuoQiuLiang * 编写日期:2005.07* 函数功能:* 输入: * 输出: * 返回值: 0 无效状态 1 有效状态* 修改记录(如果有)* 注意事项:*******************************************************************************/int Read_Object(char * gc_object, char * mdl_code,char *acz_object_code ){ EXEC SQL BEGIN DECLARE SECTION; /* char lc_Object[20]; 监控对象 */ char lc_code[10]; /* 监控模块代码 */ EXEC SQL END DECLARE SECTION; EXEC SQL AT db_name Select moni_obj_code into :lc_code from monitor_obj where description=:gc_object and mdl_code =:mdl_code and state ='1' ; if (sqlca.sqlcode == 0) { strcpy(acz_object_code,prune(lc_code)); return(1); /* 有效模块*/ } else return(0); }/******************************************************************************* 函数名:写入监控信息到Monitor_Info表* 作者: GuoQiuLiang* 编写日期:2005.07* 函数功能:* 输入: * 输出: * 返回值: 无* 修改记录(如果有)* 注意事项:*******************************************************************************/ void Write_MonitorInfo(char * property_id, char * object_id,char * monitor_information,char * create_time,char * complete_time){ EXEC SQL BEGIN DECLARE SECTION; char result; EXEC SQL END DECLARE SECTION; EXEC SQL AT db_name Insert into Monitor_Info(moni_obj_code,moni_perp_code,content,created_date,complete_date,state) VALUES(:object_id,:property_id,:monitor_information, to_date(:create_time,'yyyy-mm-dd hh24:mi:ss'), to_date(:complete_time,'yyyy-mm-dd hh24:mi:ss'), '0'); EXEC SQL AT db_name COMMIT WORK; } /******************************************************************************* 函数名:读取模块状态值 * 作者: GuoQiuLiang* 编写日期:2005.07* 函数功能:* 输入: * 输出: * 返回值: 0 无效状态 1 有效状态* 修改记录(如果有)* 注意事项:*******************************************************************************/int Read_Module(char * device_name,char * module_name ,char * acz_module_code, char * acz_machine_code){ EXEC SQL BEGIN DECLARE SECTION ; char machine_code[10]; char module_code[10]; EXEC SQL END DECLARE SECTION; EXEC SQL AT db_name Select mch_code into :machine_code from machine where name=:device_name; strcpy(acz_machine_code, prune(machine_code)); EXEC SQL AT db_name Select mdl_code into :module_code from module where mch_code=:acz_machine_code and name=:module_name and state='1'; if (sqlca.sqlcode == 0) { strcpy(acz_module_code,prune(module_code)); return(1); /* 有效模块*/ } else return(0); } /****************************************************************************** * Copyright (c) 2005,深圳新宇龙公司OSS部 * All rights reserved. * * 文件名称:mypcfun.pc * 文件标识: * 摘 要:查询报警条件,报警返回 1,不报警返回 0 (除进程外) * * 当前版本:1.1 * 作 者:邓飞 * 完成日期:2005年8月10日 * * 取代版本:1.0 * 原作者 : * 完成日期:******************************************************************************/char GetState(char *azp_perpstr, /*属性字符串指针*/ char *azp_content /*内容字符串指针*/ ){ EXEC SQL BEGIN DECLARE SECTION; VARCHAR cnte[31]; VARCHAR perp[20]; EXEC SQL END DECLARE SECTION; char lc_return='0'; EXEC SQL SELECT THRESHOLD_FLOOR,THRESHOLD_CEIL INTO :cnts ,:cnte FROM NEW_DBA.WARNING_CND WHERE MONI_PROP_CODE = :azp_perpStr; if (strcmp(azp_content,cnts.arr) > 0 && strcmp(azp_content,cnte.arr) < 0) lc_return = '0'; else lc_return = '1'; return( lc_return );} /****************************************************************************** * Copyright (c) 2005,深圳新宇龙公司OSS部 * All rights reserved. * * 文件名称:mypcfun.pc * 文件标识: * 摘 要:查询进程报警条件,报警返回 1,不报警返回 0 * * 当前版本:1.1 * 作 者:郭秋亮 * 完成日期:2005.08 * * 取代版本:1.0 * 原作者 : * 完成日期:******************************************************************************/char GetPsstate( char *azp_content )/*内容字符串指针*/ { EXEC SQL BEGIN DECLARE SECTION; VARCHAR cnte[31]; VARCHAR perp[20]; EXEC SQL END DECLARE SECTION; char lc_return='0'; if ( ( NULL != strstr( azp_contnet,"Z" ) ) || ( NULL != strstr( azp_content,"T" ) ) ) lc_return='1';; else lc_return='0'; return( lc_return );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -