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

📄 standdb.c

📁 UNIX环境下资源监控程序(包含对CPUMEMDISKIOPS等资源的监控)
💻 C
📖 第 1 页 / 共 2 页
字号:
* 输入:	
* 输出:	
* 返回值:	无
* 修改记录(如果有)
* 注意事项:
*******************************************************************************/
  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; */ 

{
              struct sqlexd sqlstm;
              sqlstm.sqlvsn = 10;
              sqlstm.arrsiz = 4;
              sqlstm.sqladtp = &sqladt;
              sqlstm.sqltdsp = &sqltds;
              sqlstm.stmt = "select state ,moni_prop_code into :b0,:b1  fro\
m monitor_prop where (description=:b2 and mdl_code=:b3)";
              sqlstm.iters = (unsigned int  )1;
              sqlstm.offset = (unsigned int  )102;
              sqlstm.selerr = (unsigned short)1;
              sqlstm.cud = sqlcud0;
              sqlstm.sqlest = (unsigned char  *)&sqlca;
              sqlstm.sqlety = (unsigned short)256;
              sqlstm.occurs = (unsigned int  )0;
              sqlstm.sqhstv[0] = (         void  *)&result;
              sqlstm.sqhstl[0] = (unsigned int  )1;
              sqlstm.sqhsts[0] = (         int  )0;
              sqlstm.sqindv[0] = (         void  *)0;
              sqlstm.sqinds[0] = (         int  )0;
              sqlstm.sqharm[0] = (unsigned int  )0;
              sqlstm.sqadto[0] = (unsigned short )0;
              sqlstm.sqtdso[0] = (unsigned short )0;
              sqlstm.sqhstv[1] = (         void  *)lc_code;
              sqlstm.sqhstl[1] = (unsigned int  )10;
              sqlstm.sqhsts[1] = (         int  )0;
              sqlstm.sqindv[1] = (         void  *)0;
              sqlstm.sqinds[1] = (         int  )0;
              sqlstm.sqharm[1] = (unsigned int  )0;
              sqlstm.sqadto[1] = (unsigned short )0;
              sqlstm.sqtdso[1] = (unsigned short )0;
              sqlstm.sqhstv[2] = (         void  *)property_num[i];
              sqlstm.sqhstl[2] = (unsigned int  )20;
              sqlstm.sqhsts[2] = (         int  )0;
              sqlstm.sqindv[2] = (         void  *)0;
              sqlstm.sqinds[2] = (         int  )0;
              sqlstm.sqharm[2] = (unsigned int  )0;
              sqlstm.sqadto[2] = (unsigned short )0;
              sqlstm.sqtdso[2] = (unsigned short )0;
              sqlstm.sqhstv[3] = (         void  *)mdl_code;
              sqlstm.sqhstl[3] = (unsigned int  )0;
              sqlstm.sqhsts[3] = (         int  )0;
              sqlstm.sqindv[3] = (         void  *)0;
              sqlstm.sqinds[3] = (         int  )0;
              sqlstm.sqharm[3] = (unsigned int  )0;
              sqlstm.sqadto[3] = (unsigned short )0;
              sqlstm.sqtdso[3] = (unsigned short )0;
              sqlstm.sqphsv = sqlstm.sqhstv;
              sqlstm.sqphsl = sqlstm.sqhstl;
              sqlstm.sqphss = sqlstm.sqhsts;
              sqlstm.sqpind = sqlstm.sqindv;
              sqlstm.sqpins = sqlstm.sqinds;
              sqlstm.sqparm = sqlstm.sqharm;
              sqlstm.sqparc = sqlstm.sqharc;
              sqlstm.sqpadto = sqlstm.sqadto;
              sqlstm.sqptdso = sqlstm.sqtdso;
              sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	                 
	                 
	                  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' ; */ 

{
     struct sqlexd sqlstm;
     sqlstm.sqlvsn = 10;
     sqlstm.arrsiz = 4;
     sqlstm.sqladtp = &sqladt;
     sqlstm.sqltdsp = &sqltds;
     sqlstm.stmt = "select moni_obj_code into :b0  from monitor_obj where (\
(description=:b1 and mdl_code=:b2) and state='1')";
     sqlstm.iters = (unsigned int  )1;
     sqlstm.offset = (unsigned int  )140;
     sqlstm.selerr = (unsigned short)1;
     sqlstm.cud = sqlcud0;
     sqlstm.sqlest = (unsigned char  *)&sqlca;
     sqlstm.sqlety = (unsigned short)256;
     sqlstm.occurs = (unsigned int  )0;
     sqlstm.sqhstv[0] = (         void  *)lc_code;
     sqlstm.sqhstl[0] = (unsigned int  )10;
     sqlstm.sqhsts[0] = (         int  )0;
     sqlstm.sqindv[0] = (         void  *)0;
     sqlstm.sqinds[0] = (         int  )0;
     sqlstm.sqharm[0] = (unsigned int  )0;
     sqlstm.sqadto[0] = (unsigned short )0;
     sqlstm.sqtdso[0] = (unsigned short )0;
     sqlstm.sqhstv[1] = (         void  *)gc_object;
     sqlstm.sqhstl[1] = (unsigned int  )0;
     sqlstm.sqhsts[1] = (         int  )0;
     sqlstm.sqindv[1] = (         void  *)0;
     sqlstm.sqinds[1] = (         int  )0;
     sqlstm.sqharm[1] = (unsigned int  )0;
     sqlstm.sqadto[1] = (unsigned short )0;
     sqlstm.sqtdso[1] = (unsigned short )0;
     sqlstm.sqhstv[2] = (         void  *)mdl_code;
     sqlstm.sqhstl[2] = (unsigned int  )0;
     sqlstm.sqhsts[2] = (         int  )0;
     sqlstm.sqindv[2] = (         void  *)0;
     sqlstm.sqinds[2] = (         int  )0;
     sqlstm.sqharm[2] = (unsigned int  )0;
     sqlstm.sqadto[2] = (unsigned short )0;
     sqlstm.sqtdso[2] = (unsigned short )0;
     sqlstm.sqphsv = sqlstm.sqhstv;
     sqlstm.sqphsl = sqlstm.sqhstl;
     sqlstm.sqphss = sqlstm.sqhsts;
     sqlstm.sqpind = sqlstm.sqindv;
     sqlstm.sqpins = sqlstm.sqinds;
     sqlstm.sqparm = sqlstm.sqharm;
     sqlstm.sqparc = sqlstm.sqharc;
     sqlstm.sqpadto = sqlstm.sqadto;
     sqlstm.sqptdso = sqlstm.sqtdso;
     sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	  
	   
	 
	  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'),
	                        '1'); */ 

{
   struct sqlexd sqlstm;
   sqlstm.sqlvsn = 10;
   sqlstm.arrsiz = 5;
   sqlstm.sqladtp = &sqladt;
   sqlstm.sqltdsp = &sqltds;
   sqlstm.stmt = "insert into Monitor_Info (moni_obj_code,moni_perp_code,co\
ntent,created_date,complete_date,state) values (:b0,:b1,:b2,to_date(:b3,'yyyy\
-mm-dd hh24:mi:ss'),to_date(:b4,'yyyy-mm-dd hh24:mi:ss'),'1')";
   sqlstm.iters = (unsigned int  )1;
   sqlstm.offset = (unsigned int  )174;
   sqlstm.cud = sqlcud0;
   sqlstm.sqlest = (unsigned char  *)&sqlca;
   sqlstm.sqlety = (unsigned short)256;
   sqlstm.occurs = (unsigned int  )0;
   sqlstm.sqhstv[0] = (         void  *)object_id;
   sqlstm.sqhstl[0] = (unsigned int  )0;
   sqlstm.sqhsts[0] = (         int  )0;
   sqlstm.sqindv[0] = (         void  *)0;
   sqlstm.sqinds[0] = (         int  )0;
   sqlstm.sqharm[0] = (unsigned int  )0;
   sqlstm.sqadto[0] = (unsigned short )0;
   sqlstm.sqtdso[0] = (unsigned short )0;
   sqlstm.sqhstv[1] = (         void  *)property_id;
   sqlstm.sqhstl[1] = (unsigned int  )0;
   sqlstm.sqhsts[1] = (         int  )0;
   sqlstm.sqindv[1] = (         void  *)0;
   sqlstm.sqinds[1] = (         int  )0;
   sqlstm.sqharm[1] = (unsigned int  )0;
   sqlstm.sqadto[1] = (unsigned short )0;
   sqlstm.sqtdso[1] = (unsigned short )0;
   sqlstm.sqhstv[2] = (         void  *)monitor_information;
   sqlstm.sqhstl[2] = (unsigned int  )0;
   sqlstm.sqhsts[2] = (         int  )0;
   sqlstm.sqindv[2] = (         void  *)0;
   sqlstm.sqinds[2] = (         int  )0;
   sqlstm.sqharm[2] = (unsigned int  )0;
   sqlstm.sqadto[2] = (unsigned short )0;
   sqlstm.sqtdso[2] = (unsigned short )0;
   sqlstm.sqhstv[3] = (         void  *)create_time;
   sqlstm.sqhstl[3] = (unsigned int  )0;
   sqlstm.sqhsts[3] = (         int  )0;
   sqlstm.sqindv[3] = (         void  *)0;
   sqlstm.sqinds[3] = (         int  )0;
   sqlstm.sqharm[3] = (unsigned int  )0;
   sqlstm.sqadto[3] = (unsigned short )0;
   sqlstm.sqtdso[3] = (unsigned short )0;
   sqlstm.sqhstv[4] = (         void  *)complete_time;
   sqlstm.sqhstl[4] = (unsigned int  )0;
   sqlstm.sqhsts[4] = (         int  )0;
   sqlstm.sqindv[4] = (         void  *)0;
   sqlstm.sqinds[4] = (         int  )0;
   sqlstm.sqharm[4] = (unsigned int  )0;
   sqlstm.sqadto[4] = (unsigned short )0;
   sqlstm.sqtdso[4] = (unsigned short )0;
   sqlstm.sqphsv = sqlstm.sqhstv;
   sqlstm.sqphsl = sqlstm.sqhstl;
   sqlstm.sqphss = sqlstm.sqhsts;
   sqlstm.sqpind = sqlstm.sqindv;
   sqlstm.sqpins = sqlstm.sqinds;
   sqlstm.sqparm = sqlstm.sqharm;
   sqlstm.sqparc = sqlstm.sqharc;
   sqlstm.sqpadto = sqlstm.sqadto;
   sqlstm.sqptdso = sqlstm.sqtdso;
   sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


	   /* EXEC SQL AT db_name COMMIT WORK; */ 

{
    struct sqlexd sqlstm;
    sqlstm.sqlvsn = 10;
    sqlstm.arrsiz = 5;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )216;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)256;
    sqlstm.occurs = (unsigned int  )0;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}

                       
	 
	                        
}	

/******************************************************************************
* 函数名:读取模块状态值	
* 作者:	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; */ 

{
        struct sqlexd sqlstm;
        sqlstm.sqlvsn = 10;
        sqlstm.arrsiz = 5;
        sqlstm.sqladtp = &sqladt;
        sqlstm.sqltdsp = &sqltds;
        sqlstm.stmt = "select mch_code into :b0  from machine where name=:b\
1";
        sqlstm.iters = (unsigned int  )1;
        sqlstm.offset = (unsigned int  )238;
        sqlstm.selerr = (unsigned short)1;
        sqlstm.cud = sqlcud0;
        sqlstm.sqlest = (unsigned char  *)&sqlca;
        sqlstm.sqlety = (unsigned short)256;
        sqlstm.occurs = (unsigned int  )0;
        sqlstm.sqhstv[0] = (         void  *)machine_code;
        sqlstm.sqhstl[0] = (unsigned int  )10;
        sqlstm.sqhsts[0] = (         int  )0;
        sqlstm.sqindv[0] = (         void  *)0;
        sqlstm.sqinds[0] = (         int  )0;
        sqlstm.sqharm[0] = (unsigned int  )0;
        sqlstm.sqadto[0] = (unsigned short )0;
        sqlstm.sqtdso[0] = (unsigned short )0;
        sqlstm.sqhstv[1] = (         void  *)device_name;
        sqlstm.sqhstl[1] = (unsigned int  )0;
        sqlstm.sqhsts[1] = (         int  )0;
        sqlstm.sqindv[1] = (         void  *)0;
        sqlstm.sqinds[1] = (         int  )0;
        sqlstm.sqharm[1] = (unsigned int  )0;
        sqlstm.sqadto[1] = (unsigned short )0;
        sqlstm.sqtdso[1] = (unsigned short )0;
        sqlstm.sqphsv = sqlstm.sqhstv;
        sqlstm.sqphsl = sqlstm.sqhstl;
        sqlstm.sqphss = sqlstm.sqhsts;
        sqlstm.sqpind = sqlstm.sqindv;
        sqlstm.sqpins = sqlstm.sqinds;
        sqlstm.sqparm = sqlstm.sqharm;
        sqlstm.sqparc = sqlstm.sqharc;
        sqlstm.sqpadto = sqlstm.sqadto;
        sqlstm.sqptdso = sqlstm.sqtdso;
        sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}

 
	
	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'; */ 

{
 struct sqlexd sqlstm;
 sqlstm.sqlvsn = 10;
 sqlstm.arrsiz = 5;
 sqlstm.sqladtp = &sqladt;
 sqlstm.sqltdsp = &sqltds;
 sqlstm.stmt = "select mdl_code into :b0  from module where ((mch_code=:b1 \
and name=:b2) and state='1')";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )268;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)256;
 sqlstm.occurs = (unsigned int  )0;
 sqlstm.sqhstv[0] = (         void  *)module_code;
 sqlstm.sqhstl[0] = (unsigned int  )10;
 sqlstm.sqhsts[0] = (         int  )0;
 sqlstm.sqindv[0] = (         void  *)0;
 sqlstm.sqinds[0] = (         int  )0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqadto[0] = (unsigned short )0;
 sqlstm.sqtdso[0] = (unsigned short )0;
 sqlstm.sqhstv[1] = (         void  *)acz_machine_code;
 sqlstm.sqhstl[1] = (unsigned int  )0;
 sqlstm.sqhsts[1] = (         int  )0;
 sqlstm.sqindv[1] = (         void  *)0;
 sqlstm.sqinds[1] = (         int  )0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqadto[1] = (unsigned short )0;
 sqlstm.sqtdso[1] = (unsigned short )0;
 sqlstm.sqhstv[2] = (         void  *)module_name;
 sqlstm.sqhstl[2] = (unsigned int  )0;
 sqlstm.sqhsts[2] = (         int  )0;
 sqlstm.sqindv[2] = (         void  *)0;
 sqlstm.sqinds[2] = (         int  )0;
 sqlstm.sqharm[2] = (unsigned int  )0;
 sqlstm.sqadto[2] = (unsigned short )0;
 sqlstm.sqtdso[2] = (unsigned short )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqphss = sqlstm.sqhsts;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqpins = sqlstm.sqinds;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlstm.sqpadto = sqlstm.sqadto;
 sqlstm.sqptdso = sqlstm.sqtdso;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
}


        
	
	if (sqlca.sqlcode == 0)
	                    {
	                      strcpy(acz_module_code,prune(module_code));
	                      return(1);  /* 有效模块*/
	                     }   
	  else return(0);
	       
}	       
	
									


⌨️ 快捷键说明

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