⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sub_db_sybase_dboperate.cp

📁 电信硬件的信息数据采集程序
💻 CP
📖 第 1 页 / 共 2 页
字号:
#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 + -