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

📄 cscdr.cpp

📁 Mysql的处理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR	snprintf(szMsg, 512, "ORA:DbCSCDRInsert: %.70s", sqlca.sqlerrm.sqlerrmc);    logOra(sErrLog, szMsg);#endif    EXEC SQL WHENEVER SQLERROR CONTINUE; 	onError();	*/		return 1;}int DbCSCDRSelect(char* pInSzTableName, char* pWhere, struct S_CSCDR** pOutCDR, int *number, struct S_RESULT* pOut){	char szMsg[512];	char GtpName[LEN_TABLENAME + 1];	char GtpId[LEN_SEQ + 1];		char SeqId[LEN_SEQ + 1];	int FlagRead;	int FlagRepeat;	int FlagR499;	int NetworkInitiatedPDPContext;	int SystemType;	char ServedIMSI[17];	char ServedIMEI[17];	char ServedMSISDN[LEN_ServedMSISDN+1];	char SGSNIPAddress[46];	char MSNetworkCapability[LEN_MSNetworkCapability+1];	char RoutingAreaCode[9];	char LocationAreaCode[17];	char ChargingID[11];	char GGSNAddress[46];	char AccessPointNameNI[64];	int APNSelectionMode;	char PDPTypeNumber[9];	char ServedPDPAddress[46];	char RecordOpenTime[LEN_DATETIME + 1];	int SGSNChange;	char CauseForRecClosing[3];	char Diagnostics[LEN_Diagnostics+1];	char RecordSequenceNumber[11];	char NodeID[21];	char LocalRecordSequeceNumnber[11];	char AccessPointNameOI[38];	char UnsentDownlinkVolume[11];	char ChargingCharacteristics[LEN_ChargingCharacteristics+1];	int DynamicAddressFlag;	/* CAMEL Information*/	char SCFAddress[LEN_SCFAddress+1];	char ServiceKey[LEN_ServiceKey+1];	int DefaultTransacHandling;	char CAMELAPNNI[64];	char CAMELAPNOI[38];	char NumberOfDPEncounter[11];	char LevelOfCamelService[4];	char FreeFormatData[161];	int FFDAppendIndicator;	int DefaultSMSHandling;	char CAMELCallingPartyNumber[15];	char CAMELAccessDestinationSubNumber[44];	char CAMELSMSAdress[21];	char SmsReferenceNumber[9];	char ConsolidationResult[3];	char ChargingCharacterSelectionMode;	/* stamp */	char DateCreated[LEN_DATETIME + 1];	char GsnId[11];	char CallDuration[12+1];		char RecordExtensions[LEN_RecordExtensions+1];	char CellIdentity[25];	int AnonyAccessIndicator;/*	EXEC SQL BEGIN DECLARE SECTION;	EXEC SQL VAR  Diagnostics IS STRING(LEN_Diagnostics + 1);	EXEC SQL VAR  CellIdentity IS STRING(24 + 1);	EXEC SQL VAR  RecordExtensions IS STRING(LEN_RecordExtensions + 1);	EXEC SQL VAR  CallDuration IS STRING(12 + 1);	EXEC SQL VAR  GtpName IS STRING(LEN_TABLENAME + 1);	EXEC SQL VAR  GtpId IS STRING(LEN_SEQ + 1);	EXEC SQL VAR SeqId IS STRING(LEN_SEQ+1);	EXEC SQL VAR ServedIMSI IS STRING(LEN_ServedIMSI+1);	EXEC SQL VAR ServedIMEI IS STRING(LEN_ServedIMSI+1);	EXEC SQL VAR ServedMSISDN IS STRING(LEN_ServedMSISDN+1);	EXEC SQL VAR SGSNIPAddress IS STRING(LEN_SGSNAddr+1);	EXEC SQL VAR MSNetworkCapability IS STRING(LEN_MSNetworkCapability+1);	EXEC SQL VAR RoutingAreaCode IS STRING(8+1);	EXEC SQL VAR LocationAreaCode IS STRING(16+1);	EXEC SQL VAR GGSNAddress IS STRING(LEN_SGSNAddr+1);	EXEC SQL VAR AccessPointNameNI IS STRING(63+1);	EXEC SQL VAR PDPTypeNumber IS STRING(8+1);	EXEC SQL VAR ServedPDPAddress IS STRING(45+1);	EXEC SQL VAR RecordOpenTime IS STRING(LEN_DATETIME+1);	EXEC SQL VAR NodeID IS STRING(20+1);	EXEC SQL VAR AccessPointNameOI IS STRING(37+1);	EXEC SQL VAR SCFAddress IS STRING(LEN_SCFAddress+1);	EXEC SQL VAR CAMELAPNNI IS STRING(63+1);	EXEC SQL VAR CAMELAPNOI IS STRING(37+1);	EXEC SQL VAR LevelOfCamelService IS STRING(3+1);	EXEC SQL VAR FreeFormatData IS STRING(160+1);	EXEC SQL VAR CAMELCallingPartyNumber IS STRING(14+1);	EXEC SQL VAR CAMELAccessDestinationSubNumber IS STRING(43+1);	EXEC SQL VAR CAMELSMSAdress IS STRING(20+1);	EXEC SQL VAR SmsReferenceNumber IS STRING(8+1);	EXEC SQL VAR DateCreated IS STRING(LEN_DATETIME+1);	EXEC SQL VAR GsnId IS STRING(LEN_GSNID+1);	EXEC SQL VAR ChargingID IS STRING(10+1);	EXEC SQL VAR CauseForRecClosing IS STRING(3);	EXEC SQL VAR RecordSequenceNumber IS STRING(11);	EXEC SQL VAR LocalRecordSequeceNumnber IS STRING(11);	EXEC SQL VAR ChargingCharacteristics IS STRING(LEN_ChargingCharacteristics+1);	EXEC SQL VAR ConsolidationResult IS STRING(3);	EXEC SQL VAR UnsentDownlinkVolume IS STRING(11);	EXEC SQL VAR ServiceKey IS STRING(LEN_ServiceKey+1);	EXEC SQL VAR NumberOfDPEncounter IS STRING(11);	EXEC SQL END DECLARE SECTION;	struct S_CSCDR *pLCLOC = *pOutCDR;	int nNumber = 0;	char szSQL[SQLMAX];	char szSQL2[SQLMAX];	char szSQL3[SQLMAX];	struct S_CSCDR* p2;	int j;	char * sz ;	short id[54];	*number = 0;	if(pLCLOC != NULL)	{		return -1;	}	snprintf(szSQL2, SQLMAX, 		"SELECT COUNT(*) FROM %s WHERE %s",		pInSzTableName, pWhere);	snprintf(szSQL, SQLMAX, 		"SELECT "		"SEQID,""FLAGREPEAT," "FLAGR499," "NETWORKINITIATEDPDPCONTEXT," "SYSTEMTYPE," "SERVEDIMSI," "SERVEDIMEI," "SERVEDMSISDN," "SGSNIPADDRESS," "MSNNETWORKCAPABILITY," "ROUTINGAREACODE," "LOCATIONAREACODE," "CHARGINGID," "GGSNADDRESS," "ACCESSPOINTNAMENI," "APNSELECTIONMODE," "PDPTYPENUMBER," "SERVEDPDPADDRESS," "TO_CHAR(RECORDOPENTIME,'YYYYMMDDHH24MISS')," "SGSNCHANGE," "CAUSEFORRECCLOSING," "DIAGNOSITICS," "RECORDSEQUENCENUMBER," "NODEID," "LOCALRECORDSEQUECENUMBER," "ACCESSPOINTNAMEOI," "UNSENTDOWNLINKVOLUMN," "CHARGINGCHARACTERISTICS," "DYNAMICADDRESSFLAG," "CONSOLIDATIONRESULT," "CHARGINGCHARACTERSELECTIONMODE,"  "TO_CHAR(DATECREATED,'YYYYMMDDHH24MISS'),""GSNID,""SCFADDRESS,""SERVICEKEY,""DEFAULTTRANSACHANDLING,""CAMELAPNNI,""CAMELAPNOI,""NUMBEROFDPENCOUNTER,""LEVELOFCAMELSERVICE,""FREEFORMATDATA,""FFDAPPENDINDICATOR,""DEFAULTSMSHANDLING,""CAMELCALLINGPARTYNUMBER,""CAMELACCESSDESTNO,""CAMELSMSADDRESS," "SMSREFERENCENUMBER,FLAGREAD,CALLDURATION"#ifdef EXT10cs",RECORDEXTENSIONS"",CELLIDENTITY"",ANONYACCESSINDICATOR"#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 C2_CSCDR CURSOR FOR stat2;	EXEC SQL OPEN C2_CSCDR;	EXEC SQL WHENEVER NOT FOUND goto notfound2;	EXEC SQL FETCH C2_CSCDR INTO :nNumber;	EXEC SQL CLOSE C2_CSCDR;	    	if(nNumber <= 0)	{		Unlock();	* number = 0;		return 0;	}	sz = malloc(SIZE_S_CSCDR*nNumber);	memset(sz, 0, SIZE_S_CSCDR*nNumber);	EXEC SQL WHENEVER SQLERROR GOTO sql_error; 	EXEC SQL PREPARE stat FROM :szSQL;	EXEC SQL DECLARE C1_CSCDR CURSOR FOR stat;	EXEC SQL OPEN C1_CSCDR;	EXEC SQL WHENEVER NOT FOUND goto notfound;		#ifdef _DEBUG	logOra(sErrLog, "CURSOR...");#endif	for(j=0;j<nNumber;j++)	{		EXEC SQL FETCH C1_CSCDR INTO 		:SeqId:id[0],:FlagRepeat:id[0],:FlagR499:id[0],:NetworkInitiatedPDPContext:id[0],:SystemType:id[0],:ServedIMSI:id[0],:ServedIMEI:id[0],:ServedMSISDN:id[0],:SGSNIPAddress:id[0],:MSNetworkCapability:id[0],:RoutingAreaCode:id[0],:LocationAreaCode:id[0],:ChargingID:id[0],:GGSNAddress:id[0],:AccessPointNameNI:id[0],:APNSelectionMode:id[0],:PDPTypeNumber:id[0],:ServedPDPAddress:id[0],:RecordOpenTime:id[0],:SGSNChange:id[0],:CauseForRecClosing:id[0],:Diagnostics:id[0],:RecordSequenceNumber:id[0],:NodeID:id[0],:LocalRecordSequeceNumnber:id[0],:AccessPointNameOI:id[0],:UnsentDownlinkVolume:id[0],:ChargingCharacteristics:id[0],:DynamicAddressFlag:id[0],:ConsolidationResult:id[0],:ChargingCharacterSelectionMode:id[0],:DateCreated:id[0],:GsnId:id[0],:SCFAddress:id[0],:ServiceKey:id[0],:DefaultTransacHandling:id[0],:CAMELAPNNI:id[0],:CAMELAPNOI:id[0],:NumberOfDPEncounter:id[0],:LevelOfCamelService:id[0],:FreeFormatData:id[0],:FFDAppendIndicator:id[0],:DefaultSMSHandling:id[0],:CAMELCallingPartyNumber:id[0],:CAMELAccessDestinationSubNumber:id[0],:CAMELSMSAdress:id[0],:SmsReferenceNumber:id[0],:FlagRead:id[33],:CallDuration:id[0]#ifdef EXT10cs,:RecordExtensions:id[1]	,:CellIdentity:id[1],:AnonyAccessIndicator:id[1]#endif;			p2 = (struct S_CSCDR*)&sz[SIZE_S_CSCDR*j];	p2->FlagRepeat=FlagRepeat;	p2->FlagR499=FlagR499;	p2->NetworkInitiatedPDPContext=NetworkInitiatedPDPContext;	p2->SystemType=SystemType;	memcpy(p2->ServedIMSI,ServedIMSI,16);	memcpy(p2->ServedIMEI,ServedIMEI,16);	memcpy(p2->ServedMSISDN,ServedMSISDN,LEN_ServedMSISDN);	memcpy(p2->SGSNIPAddress,SGSNIPAddress,45);	memcpy(p2->MSNetworkCapability,MSNetworkCapability,LEN_MSNetworkCapability);	memcpy(p2->RoutingAreaCode,RoutingAreaCode,8);	memcpy(p2->LocationAreaCode,LocationAreaCode,16);	memcpy(p2->ChargingID,ChargingID,10);	memcpy(p2->GGSNAddress,GGSNAddress,45);	memcpy(p2->AccessPointNameNI,AccessPointNameNI,63);	p2->APNSelectionMode=APNSelectionMode;	memcpy(p2->PDPTypeNumber,PDPTypeNumber,8);	memcpy(p2->ServedPDPAddress,ServedPDPAddress,45);	memcpy(p2->RecordOpenTime,RecordOpenTime,LEN_DATETIME);	p2->SGSNChange=SGSNChange;	memcpy(p2->CauseForRecClosing,CauseForRecClosing,3);	memcpy(p2->Diagnostics,Diagnostics,LEN_Diagnostics);	memcpy(p2->RecordSequenceNumber,RecordSequenceNumber,11);	memcpy(p2->NodeID,NodeID,20);	memcpy(p2->LocalRecordSequeceNumnber,LocalRecordSequeceNumnber,11);	memcpy(p2->AccessPointNameOI,AccessPointNameOI,37);	memcpy(p2->UnsentDownlinkVolume,UnsentDownlinkVolume,10);	memcpy(p2->ChargingCharacteristics,ChargingCharacteristics,LEN_ChargingCharacteristics);	p2->DynamicAddressFlag=DynamicAddressFlag;		memcpy(p2->ConsolidationResult,ConsolidationResult,2);	p2->ChargingCharacterSelectionMode=ChargingCharacterSelectionMode;	memcpy(p2->DateCreated,DateCreated,LEN_DATETIME);	memcpy(p2->GsnId,GsnId,10);	memcpy(p2->SCFAddress,SCFAddress,LEN_SCFAddress+1);	memcpy(p2->ServiceKey,ServiceKey,LEN_ServiceKey);	p2->DefaultTransacHandling=DefaultTransacHandling;	memcpy(p2->CAMELAPNNI,CAMELAPNNI,63);	memcpy(p2->CAMELAPNOI,CAMELAPNOI,37);	memcpy(p2->NumberOfDPEncounter,NumberOfDPEncounter,11);	memcpy(p2->LevelOfCamelService,LevelOfCamelService,3);	memcpy(p2->FreeFormatData,FreeFormatData,160);	p2->FFDAppendIndicator=FFDAppendIndicator;	p2->DefaultSMSHandling=DefaultSMSHandling;	memcpy(p2->CAMELCallingPartyNumber,CAMELCallingPartyNumber,14);	memcpy(p2->CAMELAccessDestinationSubNumber,CAMELAccessDestinationSubNumber,43);	memcpy(p2->CAMELSMSAdress,CAMELSMSAdress,20);	memcpy(p2->SmsReferenceNumber,SmsReferenceNumber,8);	memcpy(p2->SeqId,SeqId,20);	p2->FlagRead=FlagRead;	memcpy(p2->CallDuration,CallDuration,12);#ifdef EXT10csmemcpy(p2->RecordExtensions,RecordExtensions,LEN_RecordExtensions);memcpy(p2->CellIdentity,CellIdentity,24);p2->AnonyAccessIndicator = AnonyAccessIndicator;#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_CSCDR*)sz;	* number = nNumber;	EXEC SQL CLOSE C1_CSCDR;	if(nNumber > 0)	{		EXEC SQL COMMIT WORK;	}	Unlock();	pOut->nFlag = SQL_OK;	return 0;notfound:	EXEC SQL CLOSE C1_CSCDR;	Unlock();	pOut->nFlag = SQL_OK;	return 0;notfound2:	EXEC SQL CLOSE C2_CSCDR;	Unlock();	return 0;sql_error:	EXEC SQL CLOSE C1_CSCDR;	Unlock();	pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR	snprintf(szMsg, 512, "ORA:DbCSCDRSelect: %.70s", sqlca.sqlerrm.sqlerrmc);    logOra(sErrLog, szMsg);#endif    EXEC SQL WHENEVER SQLERROR CONTINUE; 	onError();	return 1;sql_error2:	EXEC SQL CLOSE C2_CSCDR;	Unlock();	pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR	snprintf(szMsg, 512, "ORA:DbCSCDRSelect: %.70s", sqlca.sqlerrm.sqlerrmc);    logOra(sErrLog, szMsg);#endif    EXEC SQL WHENEVER SQLERROR CONTINUE; 	onError();*/	return 2;}

⌨️ 快捷键说明

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