📄 sub_db_sybase_dboperate.cp
字号:
#include "sub_db_sybase_dboperate.h"/* Declare the SQLCA. */EXEC SQL INCLUDE SQLCA;/*******************************************************************************\| Name : getcmsvrshmsize || Description : for KPI CM-00-03-01-05 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmsvrshmsize(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; char tempValue[56]; EXEC SQL BEGIN DECLARE SECTION; /* Destination variables for fetches. */ char ParamName[64]; long DefaultSize=0; long MemUsed=0; long MemConfigValue=0; long TotleMem=0; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(tempValue,'\0',sizeof(tempValue)); memset(ParamName,'\0',sizeof(ParamName)); memset(databasename,'\0',sizeof(databasename)); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); ConnectDB(pCfgFileName); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_configure "total memory" INTO :ParamName, :DefaultSize, :MemUsed, :MemConfigValue, :TotleMem; sprintf(tempValue,"%ld",TotleMem); EXEC SQL DISCONNECT DEFAULT; constructPutValues(tempValue,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; return;}/*******************************************************************************\| Name : getcmdbname || Description : for KPI CM-00-03-01-06 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdbname(struct KPIValue *pKPIValues,char *pCfgFileName){ char tmpbuf[MAX_STRING_LENGTH]; int nodePos = QUEUE_HEAD; int i=0; EXEC SQL BEGIN DECLARE SECTION; char DBName[MAX_ITEMS][128]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(tmpbuf,'\0',sizeof(tmpbuf)); memset(DBName,'\0',sizeof(DBName)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDBWithSysUser(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_SYS_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpigetcmdbname INTO :DBName; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; for(i=0;i<MAX_ITEMS;++i) { if(strlen(StrTrim(DBName[i])) > 0) { sprintf(tmpbuf,"%s",StrTrim(DBName[i])); constructPutValues(tmpbuf,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; } } return;}/*******************************************************************************\| Name : getcmdblogsize || Description : for KPI CM-00-03-01-09 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdblogsize(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; EXEC SQL BEGIN DECLARE SECTION; char logsize[64]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(logsize,'\0',sizeof(logsize)); memset(databasename,'\0',sizeof(databasename)); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); /* connect to database */ ConnectDB(pCfgFileName); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpilogsize "logsegment" INTO :logsize; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; constructPutValues(StrTrim(logsize),pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; return;}/*******************************************************************************\| Name : getcmdbshmsize || Description : for KPI CM-00-03-01-10 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdbshmsize(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; EXEC SQL BEGIN DECLARE SECTION; char ParameterName[128]; char Default[128]; char MemoryUsed[128]; char ConfigValue[128]; char RunValue[128]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(ParameterName,'\0',sizeof(ParameterName)); memset(Default,'\0',sizeof(Default)); memset(MemoryUsed,'\0',sizeof(MemoryUsed)); memset(ConfigValue,'\0',sizeof(ConfigValue)); memset(RunValue,'\0',sizeof(RunValue)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_configure "total memory" INTO :ParameterName, :Default, :MemoryUsed, :ConfigValue, :RunValue; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; constructPutValues(StrTrim(ConfigValue),pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; return;}/*******************************************************************************\| Name : getcmdbdevname || Description : for KPI CM-00-03-01-11 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdbdevname(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; int i; EXEC SQL BEGIN DECLARE SECTION; char device_fragments[MAX_ITEMS][128]; char device_size[MAX_ITEMS][128]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(device_fragments,'\0',sizeof(device_fragments)); memset(device_size,'\0',sizeof(device_size)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpidevicename:databasename INTO :device_fragments, :device_size; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; for (i=0;i<MAX_ITEMS;i++) { if(strlen(device_fragments[i]) > 0) { constructPutValues(StrTrim(device_fragments[i]),pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; } } return;}/*******************************************************************************\| Name : getcmdbdevpath || Description : for KPI CM-00-03-01-12 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdbdevpath(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; int i,j; EXEC SQL BEGIN DECLARE SECTION; char device_fragments[MAX_ITEMS][128]; char device_size[MAX_ITEMS][128]; char device_path[MAX_ITEMS][128]; char device_name[MAX_ITEMS][128]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(device_fragments,'\0',sizeof(device_fragments)); memset(device_path,'\0',sizeof(device_path)); memset(device_size,'\0',sizeof(device_size)); memset(device_name,'\0',sizeof(device_name)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpidevicename:databasename INTO :device_fragments, :device_size; for (i=0;i<MAX_ITEMS;i++) { if(strlen(device_fragments[i]) > 0) { EXEC SQL EXEC sp_kpidevicepath INTO :device_name, :device_path; for (j=0;j<MAX_ITEMS;j++) { if(strcmp(StrTrim(device_fragments[i]),StrTrim(device_name[j])) == 0) { constructPutValues(StrTrim(device_path[j]),pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; } } } } /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; return;}/*******************************************************************************\| Name : getcmdbdevsize || Description : for KPI CM-00-03-01-13 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getcmdbdevsize(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; int i; char tempValue[256]; EXEC SQL BEGIN DECLARE SECTION; char device_fragments[MAX_ITEMS][128]; char device_size[MAX_ITEMS][128]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(device_fragments,'\0',sizeof(device_fragments)); memset(device_size,'\0',sizeof(device_size)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpidevicename:databasename INTO :device_fragments, :device_size; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; for (i=0;i<MAX_ITEMS;i++) { if(strlen(device_fragments[i]) > 0) { memset(tempValue,'\0',sizeof(tempValue)); sprintf(tempValue,"%s:%s",StrTrim(device_fragments[i]),StrTrim(device_size[i])); constructPutValues(tempValue,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; } } return;}/*******************************************************************************\| Name : getfmsrvstatus || Description : for KPI FM-00-03-01-01 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getfmsrvstatus(struct KPIValue *pKPIValues,char *pCfgFileName){ char tmpbuf[MAX_STRING_LENGTH]; int nodePos = QUEUE_HEAD; EXEC SQL BEGIN DECLARE SECTION; char ServerStatus[PARAM_NAME_SIZE+1]; char ServerName[PARAM_NAME_SIZE+1]; char databasename[PARAM_NAME_SIZE+1]; EXEC SQL END DECLARE SECTION; memset(tmpbuf,'\0',sizeof(tmpbuf)); memset(ServerStatus,'\0',sizeof(ServerStatus)); memset(ServerName,'\0',sizeof(ServerName)); memset(databasename,'\0',sizeof(databasename)); /* connect to database */ ConnectDBWithSysUser(pCfgFileName); getParameter(ServerName,pCfgFileName,CONFIG_SYS_DBSERVER_ITEMS); getParameter(databasename,pCfgFileName,CONFIG_SYS_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpiseverstatus:ServerName INTO :ServerStatus; if(atol(ServerStatus) == 8) { sprintf(tmpbuf,"%s","rpc security model A"); } else { sprintf(tmpbuf,"%s","server not normal running"); } constructPutValues(tmpbuf,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; return ;}/*******************************************************************************\| Name : getfmdbloguseradio || Description : for KPI FM-00-03-01-04 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getfmdbloguseradio(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; double fValue = 0.0; double fUsed = 0.0; double fTotal = 0.0; char tempValue[32]; EXEC SQL BEGIN DECLARE SECTION; char total_size[128]; char total_pages[128]; char free_pages[128]; char used_pages[128]; char databasename[128]; EXEC SQL END DECLARE SECTION; memset(total_size,'\0',sizeof(total_size)); memset(total_pages,'\0',sizeof(total_pages)); memset(free_pages,'\0',sizeof(free_pages)); memset(used_pages,'\0',sizeof(used_pages)); memset(databasename,'\0',sizeof(databasename)); memset(tempValue,'\0',sizeof(tempValue)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpiloguse "logsegment" INTO :total_size, :total_pages, :free_pages, :used_pages; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; fUsed = atof(StrTrim(used_pages)); fTotal = atof(StrTrim(total_pages)); fValue = fUsed/fTotal; sprintf(tempValue,"%.4f",fValue); constructPutValues(tempValue,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; return;}/*******************************************************************************\| Name : getfmdbloguse || Description : for KPI FM-00-03-01-05 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getfmdbloguse(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; double value; char tempValue[32]; EXEC SQL BEGIN DECLARE SECTION; char total_size[64]; char total_pages[64]; char free_pages[64]; char used_pages[64]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(total_size,'\0',sizeof(total_size)); memset(total_pages,'\0',sizeof(total_pages)); memset(free_pages,'\0',sizeof(free_pages)); memset(used_pages,'\0',sizeof(used_pages)); memset(databasename,'\0',sizeof(databasename)); memset(tempValue,'\0',sizeof(tempValue)); /* connect to database */ ConnectDB(pCfgFileName); getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS); EXEC SQL USE :databasename; EXEC SQL set chained off; EXEC SQL EXEC sp_kpiloguse "logsegment" INTO :total_size, :total_pages, :free_pages, :used_pages; /*disconnect db */ EXEC SQL DISCONNECT DEFAULT; value = (atof(StrTrim(used_pages))*2048)/(1024*1024); sprintf(tempValue,"%.2fMB",value); constructPutValues(tempValue,pKPIValues,nodePos); nodePos = QUEUE_NOT_HEAD; return;}/*******************************************************************************\| Name : getpmwaitlocks || Description : for KPI PM-00-03-01-07 || Input Param : || Output Param : || Author : yangyong || History : Aug.20.2003 yangyong create || ||*******************************************************************************/void getpmwaitlocks(struct KPIValue *pKPIValues,char *pCfgFileName){ int nodePos = QUEUE_HEAD; int i=0,count=0; char tempValue[32]; EXEC SQL BEGIN DECLARE SECTION; char locktype[MAX_ITEMS][64]; char databasename[64]; EXEC SQL END DECLARE SECTION; memset(locktype,'\0',sizeof(locktype)); memset(databasename,'\0',sizeof(databasename)); memset(tempValue,'\0',sizeof(tempValue)); /* connect to database */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -