📄 oradata.pc
字号:
# include "../include/shmmsg.h"# include <stdio.h># include <sqlca.h># include <stdlib.h># define USRNAME "scott"# define PASSWD "tiger"# define ORASID "omcr" int ReplaceChar(char *buf,int len);main(int argc,char* argv[]){ int semid,len; static char flag[2]; static char eg1[10],eg2[70],eg3[70],eg4[70],eg5[5]; char buf[256],tmp[15]; char alarm_level_no[1],alarm_sort_no[1]; char alarm_site_name[31]; char alarm_time[19],alarm_name_no[3]; char icity_no[4],sz[2]; char vcity_no[3]; time_t start, finish; double elapsed_time; int tag=0; int wcode=0; int i=0; char buff[120]; char buff1[15]; char vsite_no[4]; int vno; memset(buf,0,256); memset(buff,0,strlen(buff)); memset(buff1,0,strlen(buff1)); memset(alarm_site_name,0,31); memset(alarm_time,0,19); memset(vcity_no,0x0,sizeof(vcity_no)); time(&start); if (comrcv(argv[1],buf)<0){ v_debug("rcv data fail\n"); s_debug("mtll buf=[%s]\n",buf); } else { EXEC SQL CONNECT :USRNAME identified by :PASSWD USING :ORASID; if (sqlca.sqlcode!=0) s_debug("connect fall sqlcode =[%d]\n",sqlca.sqlcode); else { s_debug("connect success=[%d]\n",sqlca.sqlcode); len=strlen(buf); s_debug("\nGet message len=%d",len); if(len<30) { s_debug("\nGet Back buf=%s",buf); sscanf(buf,"%s%s%s",tmp,eg1,flag); EXEC SQL EXECUTE begin mtll2_back(:eg1,:flag); end; end-exec; if (sqlca.sqlcode==0) EXEC SQL COMMIT; else { s_debug("\nmtll2_back sqlca.sqlcode=%d\n",sqlca.sqlcode); EXEC SQL ROLLBACK; } semid=opensem(SEMKEY1); if (semid<0){ syslog("get semaphar err",__FILE__,__LINE__); exit(-3); } sem_close(semid); time(&finish); elapsed_time = difftime(finish, start); s_debug("\n%s,%s takes %6.2f seconds.\n\n",eg1,flag,elapsed_time); } else{ s_debug("\n------------ dhoradata.c begin ------------\n"); ReplaceChar(buf,len); sscanf(buf,"%s%s%s%s%s%s",tmp,eg1,eg2,eg3,eg4,eg5); if (strcmp(eg1,"NEW")==0) strcpy(flag,"1"); else if (strcmp(eg1,"NOT")==0) strcpy(flag,"3"); else strcpy(flag,"2"); if (strlen(eg5)==0){ strcpy(eg5,eg4); memset(eg4,0,strlen(eg4)); strcpy(eg4,eg3); memset(eg3,0,strlen(eg3)); strcpy(eg3,"jizhanname"); } if (strlen(eg5)<2){ strcpy(sz,eg5); strcpy(eg5,"0"); strcat(eg5,sz); } if (strncmp(eg2,"BSC",3)==0) strcpy(icity_no,"51"); else if (strncmp(eg2,"ShuoZhou",8)==0) strcpy(icity_no,"49"); else if (strncmp(eg2,"XinZhou",7)==0) strcpy(icity_no,"50"); else if (strncmp(eg2,"DaTong",6)==0) strcpy(icity_no,"52"); else if (strncmp(eg2,"YangQuan",8)==0) strcpy(icity_no,"53"); else if(strncmp(eg2,"JinZhong",8)==0) strcpy(icity_no,"54"); trimstrcpy(alarm_site_name,eg3,strlen(eg3)); trimstrcpy(vcity_no,icity_no,strlen(icity_no)); trimstrcpy(alarm_name_no,eg5,strlen(eg5)); trimstrcpy(alarm_time,eg4,strlen(eg4)); #ifdef TEST s_debug("\nicity_no=%s\n",icity_no); s_debug("\tvcity_no=%s",vcity_no); s_debug("\nalarm_name_no=%s",alarm_name_no); s_debug("\nalarm_time=%s",alarm_time); s_debug("\nalarm_site_name=%s",alarm_site_name); s_debug("\nflag=%s",flag); #endif EXEC SQL EXECUTE begin mtll2('02',:flag,:alarm_site_name,:alarm_name_no,:alarm_time,:vcity_no,:tag,:vno); end; end-exec; s_debug("\ndata tag=%d",tag); s_debug("\nalarm_site_name=%s",alarm_site_name); if (sqlca.sqlcode==0) { EXEC SQL COMMIT; if(tag<3 && tag>0) { if(tag==2) strcpy(buff1,"05011101210011"); else strcpy(buff1,"06011101210011"); #ifdef TEST s_debug("\nvno=%d",vno); s_debug("\nalarm_site_name=%s",alarm_site_name); #endif sprintf(buff,"%s %s %s %d %s %s %s",buff1,flag,vcity_no,\ vno,eg4,eg5,alarm_site_name); #ifdef TEST s_debug("\nbuff=%s",buff); #endif wcode=Getsndport_snd(buff,buff1); if(wcode<0) s_debug("\nwcode=%d",wcode); /*s_debug("\nafter Getsndport_snd buff=[%s],buff1=[%s]",buff,buff1);*/ } } else { s_debug("\nmtll2 sqlca.sqlcode=%d\n",sqlca.sqlcode); EXEC SQL ROLLBACK; } semid=opensem(SEMKEY1); if (semid<0){ syslog("get semaphar err",__FILE__,__LINE__); exit(-3); } sem_close(semid); time(&finish); elapsed_time = difftime(finish, start); s_debug("\n%s,%s takes %6.2f seconds.\n\n",alarm_site_name,alarm_name_no,elapsed_time); s_debug("\n------------ dhoradata.c end ------------\n"); exit(0); } } }} int ReplaceChar(char *str,int len) { int i = 0; while (i < len) { start: if (str[i] == '|') { str[i] = ' '; i++; goto start; } if (str[i] == '(') { str[i] = ' '; i++; goto start; } if (str[i] == '\n') { str[i] = ' '; i++; goto start; } if (str[i] == '.') { str[i] = ' '; i++; goto start; } if (str[i] == ')'&&str[i+1]==':'){ str[i] = ' '; str[i+1]=' '; i++; goto start; } if (str[i] == ')') { str[i] = ' '; i++; goto start; } i++; } return(0); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -