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

📄 sub_db_sybase_dboperate.cp

📁 电信硬件的信息数据采集程序
💻 CP
📖 第 1 页 / 共 2 页
字号:
	ConnectDB(pCfgFileName);	getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS);	EXEC SQL USE :databasename;	EXEC SQL set chained off;	EXEC SQL EXEC sp_kpiwaitlock INTO 				:locktype;	/*disconnect db */	EXEC SQL DISCONNECT DEFAULT;	for (i=0;i<MAX_ITEMS;i++) {		if(strlen(locktype[i]) > 0) {			if(strstr(locktype[i],"blk")) {				count=count+1;			}		}	}	sprintf(tempValue,"%d",count);	constructPutValues(tempValue,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getpmdblogfreeradio						|| Description	: for KPI PM-00-03-01-10					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getpmdblogfreeradio(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(free_pages)/atof(total_pages);	sprintf(tempValue,"%.4f",value);	constructPutValues(tempValue,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getpmdbloguseradio						|| Description	: for KPI PM-00-03-01-11					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getpmdbloguseradio(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(used_pages)/atof(total_pages);	sprintf(tempValue,"%.4f",value);	constructPutValues(tempValue,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getfmdbalonelocks						|| Description	: for KPI FM-00-03-01-07					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getfmdbalonelocks(struct KPIValue *pKPIValues,char *pCfgFileName){		char tmpbuf[MAX_STRING_LENGTH];	int nodePos = QUEUE_HEAD;		EXEC SQL BEGIN DECLARE SECTION;	char	count[64];	char	databasename[64];	EXEC SQL END DECLARE SECTION;		memset(tmpbuf,'\0',sizeof(tmpbuf));	memset(count,'\0',sizeof(count));	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_kpidbalonelocks INTO 				:count;	/*disconnect db */	EXEC SQL DISCONNECT DEFAULT;	sprintf(tmpbuf,"%s",StrTrim(count));	constructPutValues(tmpbuf,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getfmconnections						|| Description	: for KPI FM-00-03-01-09					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getfmconnections(struct KPIValue *pKPIValues,char *pCfgFileName){		char tmpbuf[MAX_STRING_LENGTH];	int nodePos = QUEUE_HEAD;		EXEC SQL BEGIN DECLARE SECTION;	char	count[64];	char	databasename[64];	EXEC SQL END DECLARE SECTION;		memset(tmpbuf,'\0',sizeof(tmpbuf));	memset(count,'\0',sizeof(count));	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_kpiconnections INTO 				:count;	/*disconnect db */	EXEC SQL DISCONNECT DEFAULT;	sprintf(tmpbuf,"%s",StrTrim(count));	constructPutValues(tmpbuf,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getcmdbsize							|| Description	: for KPI CM-00-03-01-08					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getcmdbsize(struct KPIValue *pKPIValues,char *pCfgFileName){		int nodePos = QUEUE_HEAD;	EXEC SQL BEGIN DECLARE SECTION;	char	name[64];	char	dbsize[64];	char	databasename[64];	EXEC SQL END DECLARE SECTION;		memset(name,'\0',sizeof(name));	memset(dbsize,'\0',sizeof(dbsize));	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_kpidbsize :databasename INTO				:name,				:dbsize;	/*disconnect db */	EXEC SQL DISCONNECT DEFAULT;	constructPutValues(StrTrim(dbsize),pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: getcmdbspacefreeradio						|| Description	: for KPI PM-00-03-01-08					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void getcmdbspacefreeradio(struct KPIValue *pKPIValues,char *pCfgFileName){		int i=0;	int nodePos = QUEUE_HEAD;	double	totleValue = 0.0;	double	freeValue = 0.0;	char tempValue[32];	EXEC SQL BEGIN DECLARE SECTION;	char	segment[MAX_ITEMS][64];	char	dbsize[MAX_ITEMS][64];	char	freekbytes[MAX_ITEMS][64];	char	alonefree[64];	char	databasename[64];	EXEC SQL END DECLARE SECTION;		memset(segment,'\0',sizeof(segment));	memset(dbsize,'\0',sizeof(dbsize));	memset(freekbytes,'\0',sizeof(freekbytes));	memset(alonefree,'\0',sizeof(alonefree));	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_kpidbuse:databasename INTO				:segment,				:dbsize,				:freekbytes;	/*disconnect db */	EXEC SQL DISCONNECT DEFAULT;	for (i=0;i<MAX_ITEMS;i++) {		if(strlen(StrTrim(segment[i])) > 0) {			if(strstr(StrTrim(freekbytes[i]),"not applicable") != NULL) {				EXEC SQL EXEC sp_kpidblogfreewithnoappl:databasename INTO					:alonefree;				freeValue += atof(StrTrim(alonefree));			} else {				freeValue += atof(StrTrim(freekbytes[i]));			}			totleValue += atof(StrTrim(dbsize[i]))*1024;		}	}	sprintf(tempValue,"%.4f",freeValue/totleValue);	constructPutValues(tempValue,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: gettempdbspcfreeradio						|| Description	: for KPI PM-00-03-01-09					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Aug.20.2003		yangyong		create		||										||*******************************************************************************/void gettempdbspcfreeradio(struct KPIValue *pKPIValues,char *pCfgFileName){		int i=0;	int nodePos = QUEUE_HEAD;	double	totleValue = 0.0;	double	freeValue = 0.0;	char tempValue[128];	EXEC SQL BEGIN DECLARE SECTION;	char	segment[MAX_ITEMS][128];	char	dbsize[MAX_ITEMS][128];	char	freekbytes[MAX_ITEMS][128];	char	alonefree[128];	char	databasename[64];	EXEC SQL END DECLARE SECTION;		memset(segment,'\0',sizeof(segment));	memset(dbsize,'\0',sizeof(dbsize));	memset(freekbytes,'\0',sizeof(freekbytes));	memset(alonefree,'\0',sizeof(alonefree));	memset(databasename,'\0',sizeof(databasename));	memset(tempValue,'\0',sizeof(tempValue));		getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS);	/* connect to database */	ConnectDB(pCfgFileName);	EXEC SQL USE :databasename;	EXEC SQL set chained off;	EXEC SQL EXEC sp_kpidbuse "tempdb" INTO				:segment,				:dbsize,				:freekbytes;	for (i=0;i<MAX_ITEMS;i++) {		if(strlen(StrTrim(segment[i])) > 0) {			if(strstr(StrTrim(freekbytes[i]),"not applicable") != NULL) {				EXEC SQL EXEC sp_kpidblogfreewithnoappl:databasename INTO					:alonefree;				freeValue += atof(StrTrim(alonefree));			} else {				freeValue += atof(StrTrim(freekbytes[i]));			}			totleValue += atof(StrTrim(dbsize[i]))*1024;		} else {			freeValue += 0.0;			totleValue += 0.0;		}	}	EXEC SQL DISCONNECT DEFAULT;	sprintf(tempValue,"%.4f",freeValue/totleValue);	constructPutValues(tempValue,pKPIValues,nodePos);	nodePos = QUEUE_NOT_HEAD;	return;}/*******************************************************************************\| Name		: ConnectDB							|| Description	: connect to database						|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Sept.15.2003		yangyong		create		||										||*******************************************************************************/int ConnectDB(char *pCfgFileName){	EXEC SQL BEGIN DECLARE SECTION;	/* storage for login name and password. */	char	username[32];	char	password[32];	char	databasename[32];	EXEC SQL END DECLARE SECTION;	memset(username,'\0',sizeof(username));	memset(password,'\0',sizeof(password));	memset(databasename,'\0',sizeof(databasename));	EXEC SQL WHENEVER SQLERROR CALL error_handler();	EXEC SQL WHENEVER SQLWARNING CALL warning_handler();	EXEC SQL WHENEVER NOT FOUND CONTINUE;	/* Get user name,password,databasename from config file */	getParameter(username,pCfgFileName,CONFIG_USERNAME_ITEMS);	getParameter(password,pCfgFileName,CONFIG_PASSWORD_ITEMS);	getParameter(databasename,pCfgFileName,CONFIG_DBNAME_ITEMS);		/* connect to database */	EXEC SQL CONNECT :username IDENTIFIED BY :password;	EXEC SQL USE :databasename;	return RTN_SUCCESS;}/*******************************************************************************\| Name		: ConnectDBWithSysUser						|| Description	: connect to database with system user				|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Sept.15.2003		yangyong		create		||										||*******************************************************************************/int ConnectDBWithSysUser(char *pCfgFileName){	EXEC SQL BEGIN DECLARE SECTION;	/* storage for login name and password. */	char	username[32];	char	password[32];	char	databasename[32];	EXEC SQL END DECLARE SECTION;	memset(username,'\0',sizeof(username));	memset(password,'\0',sizeof(password));	memset(databasename,'\0',sizeof(databasename));	EXEC SQL WHENEVER SQLERROR CALL error_handler();	EXEC SQL WHENEVER SQLWARNING CALL warning_handler();	EXEC SQL WHENEVER NOT FOUND CONTINUE;	/* Get user name,password,databasename from config file */	getParameter(username,pCfgFileName,CONFIG_SYS_USERNAME_ITEMS);	getParameter(password,pCfgFileName,CONFIG_SYS_PASSWORD_ITEMS);	getParameter(databasename,pCfgFileName,CONFIG_SYS_DBNAME_ITEMS);	/* connect to database */	EXEC SQL CONNECT :username IDENTIFIED BY :password;	EXEC SQL USE :databasename;	return RTN_SUCCESS;}/*******************************************************************************\| Name		: DisConnDB							|| Description	: disconnect from database					|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Sept.15.2003		yangyong		create		||										||*******************************************************************************/int DisConnDB(){	return 0;}/*******************************************************************************\| Name		: error_handler							|| Description	: error handler							|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Sept.15.2003		yangyong		create		||										||*******************************************************************************/void error_handler(){	fprintf(stderr, "\n** SQLCODE=(%ld)", sqlca.sqlcode);	if (sqlca.sqlerrm.sqlerrml) {		fprintf(stderr, "\n** SQL Server Error ");		fprintf(stderr, "\n** %s", sqlca.sqlerrm.sqlerrmc);	}	fprintf(stderr, "\n\n");	exit(ERREXIT);}/*******************************************************************************\| Name		: warning_handler						|| Description	: warning handler						|| Input Param	: 								|| Output Param	:								|| Author	: yangyong							|| History	: Sept.15.2003		yangyong		create		||										||*******************************************************************************/void warning_handler(){	if (sqlca.sqlwarn[1] == 'W'){		fprintf(stderr, "\n** Data truncated.\n");	}	if (sqlca.sqlwarn[3] == 'W'){		fprintf(stderr, "\n** Insufficient host variables to store results.\n");	}		return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -