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

📄 omcdr.cpp

📁 Mysql的处理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	char DefaultTransacHandling;	char CAMELAPNNI[64];	char CAMELAPNOI[38];	char NumberOfDPEncounter[11];	char LevelOfCamelService[4];	char FreeFormatData[161];	char FFDAppendIndicator;	char DefaultSMSHandling;	char CAMELCallingPartyNumber[15];	char CAMELAccessDestinationSubNumber[44];	char CAMELSMSAdress[21];	char SmsReferenceNumber[9];		char DateCreated[LEN_DATETIME + 1];	char GsnId[11];	char NodeId[21];	char RecordExtensions[LEN_RecordExtensions+1];	int ChargingCharacterSelectionMode;	char ChargingCharacteristics[LEN_ChargingCharacteristics+1];/*	EXEC SQL BEGIN DECLARE SECTION;	EXEC SQL VAR  Diagnostics IS STRING(LEN_Diagnostics + 1);	EXEC SQL VAR  ChargingCharacteristics IS STRING(LEN_ChargingCharacteristics+1);	EXEC SQL VAR  RecordExtensions IS STRING(LEN_RecordExtensions + 1);	EXEC SQL VAR  SeqId IS STRING(LEN_SEQ + 1);	EXEC SQL VAR  GtpName IS STRING(LEN_TABLENAME + 1);	EXEC SQL VAR  GtpId IS STRING(LEN_SEQ + 1);	EXEC SQL VAR  ServedIMSI IS STRING(17);	EXEC SQL VAR  ServedIMEI IS STRING(17);	EXEC SQL VAR  ServedMSISDN IS STRING(LEN_ServedMSISDN+1);	EXEC SQL VAR  SGSNIPAddress IS STRING(46);	EXEC SQL VAR  MSNetworkCapability IS STRING(LEN_MSNetworkCapability+1);	EXEC SQL VAR  RoutingAreaCode IS STRING(9);	EXEC SQL VAR  LocationAreaCode IS STRING(17);	EXEC SQL VAR  CellIdentity IS STRING(25);	EXEC SQL VAR  RecordOpenTime IS STRING(LEN_DATETIME + 1);	EXEC SQL VAR  CallDuration IS STRING(13);	EXEC SQL VAR  CauseForRecClosing IS STRING(3);	EXEC SQL VAR  RecordSequenceNumber IS STRING(11);	EXEC SQL VAR  LocalRecordSequeceNumnber IS STRING(11);	EXEC SQL VAR  SCFAddress IS STRING(LEN_SCFAddress+1);	EXEC SQL VAR  ServiceKey IS STRING(LEN_ServiceKey+1);	EXEC SQL VAR  CAMELAPNNI IS STRING(64);	EXEC SQL VAR  CAMELAPNOI IS STRING(38);	EXEC SQL VAR  NumberOfDPEncounter IS STRING(11);	EXEC SQL VAR  LevelOfCamelService IS STRING(4);	EXEC SQL VAR  FreeFormatData IS STRING(161);	EXEC SQL VAR  CAMELCallingPartyNumber IS STRING(15);	EXEC SQL VAR  CAMELAccessDestinationSubNumber IS STRING(44);	EXEC SQL VAR  CAMELSMSAdress IS STRING(21);	EXEC SQL VAR  SmsReferenceNumber IS STRING(9);		EXEC SQL VAR  DateCreated IS STRING(LEN_DATETIME + 1);	EXEC SQL VAR  GsnId IS STRING(11);	EXEC SQL VAR  NodeId IS STRING(21);EXEC SQL END DECLARE SECTION;	struct S_OMCDR *pOMCDR=*pOutCDR ;	int nNumber = 0;	char szMsg[512];	char szSQL[SQLMAX];	char szSQL2[SQLMAX];	char szSQL3[SQLMAX];	struct S_OMCDR* p2;	int j;	char * sz ;	*nItems=0;	if(pOMCDR != NULL)	{		return -1;	}	snprintf(szSQL2, SQLMAX, 		"SELECT COUNT(*) FROM %s WHERE %s",		pInSzTableName,pWhere);				snprintf(szSQL,SQLMAX,"SELECT "   "SEQID,GTPID,GTPLTABLE,FLAGR499,"                     "SERVEDIMSI,SERVEDIMEI,SERVEDMSISDN,SGSNIPADDRESS,"                "MSNNETWORKCAPABILITY,ROUTINGAREACODE,LOCATIONAREACODE,"               "CAUSEFORRECCLOSING,DIAGNOSITICS,RECORDSEQUENCENUMBER,NODEID,"                       "LOCALRECORDSEQUECENUMBER,SYSTEMTYPE,SCFADDRESS,SERVICEKEY,"                   "DEFAULTTRANSACHANDLING,CAMELAPNNI,CAMELAPNOI,NUMBEROFDPENCOUNTER,"          "LEVELOFCAMELSERVICE,FREEFORMATDATA,FFDAPPENDINDICATOR,DEFAULTSMSHANDLING,"           "CAMELCALLINGPARTYNUMBER,CAMELACCESSDESTNO,CAMELSMSADDRESS,SMSREFERENCENUMBER,"           "TO_CHAR(DATECREATED,'YYYYMMDDHH24MISS'),GSNID,FLAGREAD,CALLDURATION"#ifdef EXT10om",RECORDEXTENSIONS"",CHARGINGCHARACTERSELECTIONMODE"",CELLIDENTITY"",TO_CHAR(EVENTSTAMPTIME,'YYYYMMDDHH24MISS')"",SGSNCHANGE"",CHARGINGCHARACTERISTICS"#endif   " FROM %s WHERE %s",		pInSzTableName,pWhere);		#ifdef _DEBUG#ifdef LOG_SELECT	logOra(sErrLog, szSQL);#endif#endif	Lock();	EXEC SQL WHENEVER SQLERROR GOTO sql_error2; 	EXEC SQL PREPARE stat2 FROM :szSQL2;	EXEC SQL DECLARE OMCDR2 CURSOR FOR stat2;	EXEC SQL OPEN OMCDR2;	EXEC SQL WHENEVER NOT FOUND goto notfound2;	EXEC SQL FETCH OMCDR2 INTO :nNumber;	EXEC SQL CLOSE OMCDR2;	                                                       		if(nNumber <= 0)	{		Unlock();	* nItems = 0;		return 0;	}	    	sz = malloc(SIZE_S_OMCDR*nNumber);	memset(sz, 0, SIZE_S_OMCDR*nNumber);	EXEC SQL WHENEVER SQLERROR GOTO sql_error; 	EXEC SQL PREPARE stat FROM :szSQL;	EXEC SQL DECLARE OMCDR1 CURSOR FOR stat;	EXEC SQL OPEN OMCDR1;	EXEC SQL WHENEVER NOT FOUND goto notfound;		#ifdef _DEBUG	logOra(sErrLog, "CURSOR...");#endif	for(j=0;j<nNumber;j++)	{		EXEC SQL FETCH OMCDR1 INTO		    :SeqId:ind[0],:GtpId:ind[1],:GtpName:ind[2],:FlagR499:ind[3],   :ServedIMSI:ind[4],:ServedIMEI:ind[5],:ServedMSISDN:ind[6],:SGSNIPAddress:ind[7],             	            :MSNetworkCapability:ind[8],:RoutingAreaCode:ind[9],:LocationAreaCode:ind[10],            :CauseForRecClosing:ind[12],:Diagnostics:ind[13],:RecordSequenceNumber:ind[14],:NodeId:ind[15],     :LocalRecordSequeceNumnber:ind[16],:SystemType:ind[17],:SCFAddress:ind[18],:ServiceKey:ind[19],            	                      :DefaultTransacHandling:ind[20],:CAMELAPNNI:ind[21],:CAMELAPNOI:ind[22],:NumberOfDPEncounter:ind[23],          	              :LevelOfCamelService:ind[24],:FreeFormatData:ind[25],:FFDAppendIndicator:ind[26],:DefaultSMSHandling:ind[27],         	              :CAMELCallingPartyNumber:ind[28],:CAMELAccessDestinationSubNumber:ind[29],:CAMELSMSAdress:ind[30],:SmsReferenceNumber:ind[31],          	     	:DateCreated:ind[32],:GsnId:ind[33],:FlagRead:ind[33],CallDuration:ind[33]#ifdef EXT10om,:RecordExtensions:id[1],:ChargingCharacterSelectionMode:id[1]	,:CellIdentity:id[1]	,:RecordOpenTime:id[1]	,:SGSNChange:id[1]	,:ChargingCharacteristics:id[1]#endif;	 		p2 = (struct S_OMCDR*)&sz[SIZE_S_OMCDR*j];		 p2->RecordType=RecordType;		 memcpy(p2->SeqId,SeqId,LEN_SEQ);                               	   		 memcpy(p2->GtpId,GtpId,LEN_SEQ);																				 memcpy(p2->GtpName,GtpName,LEN_TABLENAME);                     	        		 p2->FlagR499=FlagR499;                                         			                                                                			 memcpy(p2->ServedIMSI,ServedIMSI,17);                          	   		 memcpy(p2->ServedIMEI,ServedIMEI,17);                               		 memcpy(p2->ServedMSISDN,ServedMSISDN,LEN_ServedMSISDN);                      	   		 memcpy(p2->SGSNIPAddress,SGSNIPAddress,46);                    			                                                                			 memcpy(p2->MSNetworkCapability,MSNetworkCapability,LEN_MSNetworkCapability);         	  			 memcpy(p2->RoutingAreaCode,RoutingAreaCode,9);                 	  			 memcpy(p2->LocationAreaCode,LocationAreaCode,17);              	   		 		                                                                			 memcpy(p2->CauseForRecClosing,CauseForRecClosing,3);                     			 memcpy(p2->Diagnostics,Diagnostics,LEN_Diagnostics);		 memcpy(p2->RecordSequenceNumber,RecordSequenceNumber,11);                                                        			 		 		 memcpy(p2->NodeId,NodeId,21);                                  	   		                                                                			 memcpy(p2->LocalRecordSequeceNumnber,LocalRecordSequeceNumnber,11);					  			 p2->SystemType=SystemType;                                     			 memcpy(p2->SCFAddress,SCFAddress,LEN_SCFAddress+1);                          	   		 memcpy(p2->ServiceKey,ServiceKey,10);                                     			                                                                			 p2->DefaultTransacHandling=DefaultTransacHandling;               		 memcpy(p2->CAMELAPNNI,CAMELAPNNI,64);                          	   		 memcpy(p2->CAMELAPNOI,CAMELAPNOI,38);     	                    	  			 memcpy(p2->NumberOfDPEncounter,NumberOfDPEncounter,11);                   			 		 		 		 		                                                			 memcpy(p2->LevelOfCamelService,LevelOfCamelService,4);         	  			 memcpy(p2->FreeFormatData,FreeFormatData,161);                 	   		 p2->FFDAppendIndicator=FFDAppendIndicator;                     			 p2->DefaultSMSHandling=DefaultSMSHandling;                     			                                                                			 memcpy(p2->CAMELCallingPartyNumber,CAMELCallingPartyNumber,15);                             		 memcpy(p2->CAMELAccessDestinationSubNumber,CAMELAccessDestinationSubNumber,44);			 memcpy(p2->CAMELSMSAdress,CAMELSMSAdress,21);  				        	          			 memcpy(p2->SmsReferenceNumber,SmsReferenceNumber,9);           	        	                                                                        			 memcpy(p2->DateCreated,DateCreated,LEN_DATETIME);              	              		 memcpy(p2->GsnId,GsnId,11);                                    	             		 memcpy(p2->CallDuration,CallDuration,12);                                    	                                                                                 		p2->FlagRead=FlagRead;#ifdef EXT10ommemcpy(p2->RecordExtensions,RecordExtensions,LEN_RecordExtensions);p2->ChargingCharacterSelectionMode=ChargingCharacterSelectionMode;memcpy(p2->CellIdentity,CellIdentity,24);memcpy(p2->RecordOpenTime,RecordOpenTime,LEN_DATETIME);p2->SGSNChange=SGSNChange;memcpy(p2->ChargingCharacteristics,ChargingCharacteristics,LEN_ChargingCharacteristics);#endif		memcpy(p2->TableName, pInSzTableName, LEN_TABLENAME);		snprintf(szSQL3, SQLMAX, 					"UPDATE %s SET FLAGREAD=1 WHERE SEQID='%s'", 					p2->TableName, p2->SeqId);		EXEC SQL EXECUTE IMMEDIATE :szSQL3;	}                                                                 	        	                                                                    	* pOutCDR = (struct S_OMCDR*)sz;                                               		* nItems = nNumber;	                                                       		EXEC SQL CLOSE OMCDR1;	if(nNumber > 0)	{		EXEC SQL COMMIT WORK;	}	Unlock();	pOut->nFlag = SQL_OK;	return 0;notfound:	EXEC SQL CLOSE OMCDR1;	Unlock();	pOut->nFlag = SQL_OK;	return 0;notfound2:	EXEC SQL CLOSE OMCDR2;	Unlock();	return 0;sql_error:	EXEC SQL CLOSE OMCDR1;	Unlock();	pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR	snprintf(szMsg, 512, "ORA:DbOMCDRSelect: %.70s", sqlca.sqlerrm.sqlerrmc);    logOra(sErrLog, szMsg);#endif    EXEC SQL WHENEVER SQLERROR CONTINUE; 	onError();			return 1;sql_error2:	EXEC SQL CLOSE OMCDR2;	Unlock();	pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR	snprintf(szMsg, 512, "ORA:DbOMCDRSelect: %.70s", sqlca.sqlerrm.sqlerrmc);    logOra(sErrLog, szMsg);#endif    EXEC SQL WHENEVER SQLERROR CONTINUE; 	onError();*/			return 1;}

⌨️ 快捷键说明

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