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

📄 oscdr.cpp

📁 Mysql的处理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "oradb.h"int DbOSCDRInsert(struct S_OSCDR* p, struct S_RESULT* pOut){	char szMsg[512];	char* TableName = p->TableName;	char* SeqId = p->SeqId;	char *GtpName=(char *)p->GtpName;	char *GtpId=(char *)p->GtpId;		int FlagRead = p->FlagRead;	/*1*/	int FlagRepeat=p->FlagRepeat;	int FlagR499=p->FlagR499;	int NetworkInitiatedPDPContext = p->NetworkInitiatedPDPContext;	/*char*/int SystemType = p->SystemType;	char *ServedIMSI = p->ServedIMSI;	/*2*/	char *ServedIMEI = p->ServedIMEI;	char *ServedMSISDN = p->ServedMSISDN;	char *SGSNIPAddress = p->SGSNIPAddress;	char *MSNetworkCapability = p->MSNetworkCapability;	char *RoutingAreaCode = p->RoutingAreaCode;		/*3*/	char *LocationAreaCode = p->LocationAreaCode;	char* ChargingID = p->ChargingID;	char *GGSNAddress = p->GGSNAddress;	char *AccessPointNameNI = p->AccessPointNameNI;	/*char*/int APNSelectionMode = p->APNSelectionMode;		/*4*/	char *PDPTypeNumber = p->PDPTypeNumber;	char *ServedPDPAddress = p->ServedPDPAddress;	char *RecordOpenTime = p->RecordOpenTime;		/*5*/	/*char*/int SGSNChange = p->SGSNChange;	char* CauseForRecClosing = p->CauseForRecClosing;	char *Diagnostics = p->Diagnostics;	char* RecordSequenceNumber = p->RecordSequenceNumber;	char *NodeID = p->NodeID;		/*6*/	char* LocalRecordSequeceNumnber = p->LocalRecordSequeceNumnber;	char *AccessPointNameOI = p->AccessPointNameOI;	char* UnsentDownlinkVolume = p->UnsentDownlinkVolume;	char* ChargingCharacteristics = p->ChargingCharacteristics;	int DynamicAddressFlag = p->DynamicAddressFlag;	/* CAMEL Information*/	/*7*/	char *SCFAddress = p->SCFAddress;	char* ServiceKey = p->ServiceKey;	/*char*/int DefaultTransacHandling = p->DefaultTransacHandling;	char *CAMELAPNNI = p->CAMELAPNNI;	char *CAMELAPNOI = p->CAMELAPNOI;	/*8*/	char* NumberOfDPEncounter = p->NumberOfDPEncounter;	char *LevelOfCamelService = p->LevelOfCamelService;	char *FreeFormatData = p->FreeFormatData;	/*char*/int FFDAppendIndicator = p->FFDAppendIndicator;	/*char*/int DefaultSMSHandling = p->DefaultSMSHandling;	/*9*/	char *CAMELCallingPartyNumber = p->CAMELCallingPartyNumber;	char *CAMELAccessDestination = p->CAMELAccessDestinationSubNumber;	char *CAMELSMSAdress = p->CAMELSMSAdress;	char *SmsReferenceNumber = p->SmsReferenceNumber;/*	int ConsolidationResult = p->ConsolidationResult;	int ChargingCharacterSelectionMode = p->ChargingCharacterSelectionMode;*/	/* stamp */	char *DateCreated = p->DateCreated;	/*10*/	char *CellIdentity = p->CellIdentity;	char *GsnId = p->GsnId;	char *CallDuration = p->CallDuration;	char *RecordExtensions = p->RecordExtensions;#ifdef EXT10os	int ChargingCharacterSelectionMode = p->ChargingCharacterSelectionMode;	int AnonyAccessIndicator = p->AnonyAccessIndicator;#endif	int i=0;	char szSeqId[21]={0,};/*	EXEC SQL BEGIN DECLARE SECTION;	EXEC SQL VAR szSeqId IS STRING(21);	EXEC SQL END DECLARE SECTION;*/	char szSQL[SQLMAX];	memset(szSQL,0,SQLMAX);	memset(szSeqId,0,LEN_SEQ+1);/*#ifdef _DEBUG	snprintf(szSQL, SQLMAX, "INSERT INTO %s (" "SEQID," "FLAGREPEAT," "FLAGR499," "NETWORKINITIATEDPDPCONTEXT," "SYSTEMTYPE," "SERVEDIMSI," "SERVEDIMEI," "SERVEDMSISDN," "SGSNIPADDRESS," "MSNNETWORKCAPABILITY," "ROUTINGAREACODE," "LOCATIONAREACODE," "CHARGINGID," "GGSNADDRESS," "ACCESSPOINTNAMENI," "APNSELECTIONMODE," "PDPTYPENUMBER," "SERVEDPDPADDRESS," "RECORDOPENTIME,"   "SGSNCHANGE," "CAUSEFORRECCLOSING,""DIAGNOSITICS," "RECORDSEQUENCENUMBER,"  "NODEID," "LOCALRECORDSEQUECENUMBER," "ACCESSPOINTNAMEOI," "UNSENTDOWNLINKVOLUMN," "CHARGINGCHARACTERISTICS,"  "DYNAMICADDRESSFLAG," "SCFADDRESS," "SERVICEKEY,""DEFAULTTRANSACHANDLING," "CAMELAPNNI,"  "CAMELAPNOI," "NUMBEROFDPENCOUNTER," "LEVELOFCAMELSERVICE," "FREEFORMATDATA," "FFDAPPENDINDICATOR,"  "DEFAULTSMSHANDLING," "CAMELCALLINGPARTYNUMBER," "CAMELACCESSDESTNO,""CAMELSMSADDRESS," "SMSREFERENCENUMBER," "GTPID,GTPLTABLE," "DATECREATED," "GSNID,FLAGREAD, CELLIDENTITY"	") VALUES("			"SEQ_OSCDR.NEXTVAL,""%d,%d,%d,%d,'%s',""'%s','%s','%s','%s','%s',""'%s','%s','%s','%s',%d,""'%s','%s', TO_DATE(%s, 'YYYYMMDDHH24MISS'),"	"%d,'%s',%s,'%s','%s',"	"'%s','%s','%s','%s',%d,"	"'%s','%s',%d,'%s','%s',"	"'%s','%s','%s',%d,%d,""'%s','%s',""'%s','%s',""'%s','%s',""SYSDATE, '%s',%d,'%s')",	TableName,	FlagRepeat,	FlagR499,	NetworkInitiatedPDPContext,	SystemType,	ServedIMSI,	ServedIMEI,	ServedMSISDN,	SGSNIPAddress,	MSNetworkCapability,	RoutingAreaCode,	LocationAreaCode,	ChargingID,	GGSNAddress,	AccessPointNameNI,		APNSelectionMode,	PDPTypeNumber,	ServedPDPAddress,	RecordOpenTime,		SGSNChange,	CauseForRecClosing,	Diagnostics,	RecordSequenceNumber,	NodeID,	LocalRecordSequeceNumnber,	AccessPointNameOI,	UnsentDownlinkVolume,	ChargingCharacteristics,	DynamicAddressFlag,	SCFAddress,	ServiceKey,	DefaultTransacHandling,	CAMELAPNNI,	CAMELAPNOI,	NumberOfDPEncounter,	LevelOfCamelService,	FreeFormatData,	FFDAppendIndicator,	DefaultSMSHandling,	CAMELCallingPartyNumber,	CAMELAccessDestination,	CAMELSMSAdress,	SmsReferenceNumber,GtpId,GtpName,	GsnId,FlagRead,CellIdentity					);	logOra(sErrLog, szSQL);#endif*/	snprintf(szSQL, SQLMAX, "INSERT INTO %s (" "FLAGREPEAT," "FLAGR499," "NETWORKINITIATEDPDPCONTEXT," "SYSTEMTYPE," "SERVEDIMSI," "SERVEDIMEI," "SERVEDMSISDN," "SGSNIPADDRESS," "MSNNETWORKCAPABILITY," "ROUTINGAREACODE," "LOCATIONAREACODE," "CHARGINGID," "GGSNADDRESS," "ACCESSPOINTNAMENI," "APNSELECTIONMODE," "PDPTYPENUMBER," "SERVEDPDPADDRESS," "RECORDOPENTIME,"   "SGSNCHANGE," "CAUSEFORRECCLOSING,""DIAGNOSITICS," "RECORDSEQUENCEnumeric,"  "NODEID," "LOCALRECORDSEQUECEnumeric," "ACCESSPOINTNAMEOI," "UNSENTDOWNLINKVOLUMN," "CHARGINGCHARACTERISTICS,"  "DYNAMICADDRESSFLAG," "SCFADDRESS," "SERVICEKEY,""DEFAULTTRANSACHANDLING," "CAMELAPNNI,"  "CAMELAPNOI," "NUMBEROFDPENCOUNTER," "LEVELOFCAMELSERVICE," "FREEFORMATDATA," "FFDAPPENDINDICATOR,"  "DEFAULTSMSHANDLING," "CAMELCALLINGPARTYnumeric," "CAMELACCESSDESTNO,""CAMELSMSADDRESS," "SMSREFERENCENUMBER," "GTPID,GTPLTABLE," "DATECREATED," "GSNID,FLAGREAD, CELLIDENTITY,CALLDURATION"#ifdef EXT10os",RECORDEXTENSIONS"",CHARGINGCHARACTERSELECTIONMODE"",ANONYACCESSINDICATOR"#endif	") VALUES("		"%d,%d,%d,%d,'%s',""'%s','%s','%s','%s','%s',""'%s',%s,'%s','%s',%d,""'%s','%s', '%s',"	"%d,%s,%s,%s,"	"'%s',%s,'%s',%s,'%s',"	"%d,'%s',%s,%d,'%s',"	"'%s',%s,'%s','%s',%d,""%d,'%s','%s','%s','%s',""%s,'%s',""NOW(), %s,%d,'%s',%s"#ifdef EXT10os",'%s'"",%d"",%d"#endif")",	TableName,	FlagRepeat,	FlagR499,	NetworkInitiatedPDPContext,	SystemType,	ServedIMSI,	ServedIMEI,	ServedMSISDN,	SGSNIPAddress,	MSNetworkCapability,	RoutingAreaCode,	LocationAreaCode,	ChargingID,	GGSNAddress,	AccessPointNameNI,		APNSelectionMode,	PDPTypeNumber,	ServedPDPAddress,	RecordOpenTime,		SGSNChange,	CauseForRecClosing,	Diagnostics,	RecordSequenceNumber,		NodeID,	LocalRecordSequeceNumnber,	AccessPointNameOI,	UnsentDownlinkVolume,	ChargingCharacteristics,	DynamicAddressFlag,	SCFAddress,	ServiceKey,	DefaultTransacHandling,	CAMELAPNNI,	CAMELAPNOI,	NumberOfDPEncounter,	LevelOfCamelService,	FreeFormatData,	FFDAppendIndicator,	DefaultSMSHandling,	CAMELCallingPartyNumber,	CAMELAccessDestination,	CAMELSMSAdress,	SmsReferenceNumber,GtpId,GtpName,	GsnId,FlagRead,CellIdentity,CallDuration#ifdef EXT10os,RecordExtensions,ChargingCharacterSelectionMode,AnonyAccessIndicator#endif	);#ifdef _DEBUG	logOra(sErrLog, szSQL);#endif		Lock();	int res = mysql_real_query(myConnect, szSQL, strlen(szSQL));	if(res != 0)	{		Unlock();		logOra(sErrLog, "%d %s\n", mysql_errno(myConnect), mysql_error(myConnect));		return -1;	}	Unlock();/*	EXEC SQL BEGIN DECLARE SECTION;	EXEC SQL VAR szSeqId IS STRING(LEN_SEQ+1);	EXEC SQL END DECLARE SECTION;	Lock();	EXEC SQL WHENEVER SQLERROR GOTO sql_error; 	EXEC SQL EXECUTE		DECLARE		BEGINEXECUTE IMMEDIATE :szSQL using :FlagRepeat,	:FlagR499,	:NetworkInitiatedPDPContext,	:SystemType,	:ServedIMSI,:ServedIMEI,	:ServedMSISDN,	:SGSNIPAddress,	:MSNetworkCapability,	:RoutingAreaCode,:LocationAreaCode,	:ChargingID,	:GGSNAddress,	:AccessPointNameNI,		:APNSelectionMode,:PDPTypeNumber,	:ServedPDPAddress,	:RecordOpenTime,	:SGSNChange,	:CauseForRecClosing,	:Diagnostics,	:RecordSequenceNumber,	:NodeID,:LocalRecordSequeceNumnber,	:AccessPointNameOI,	:UnsentDownlinkVolume,	:ChargingCharacteristics,	:DynamicAddressFlag,:SCFAddress,	:ServiceKey,	:DefaultTransacHandling,	:CAMELAPNNI,	:CAMELAPNOI,:NumberOfDPEncounter,	:LevelOfCamelService,	:FreeFormatData,	:FFDAppendIndicator,:DefaultSMSHandling,	:CAMELCallingPartyNumber,	:CAMELAccessDestination,	:CAMELSMSAdress,	:SmsReferenceNumber,:GtpId,:GtpName,:GsnId,:FlagRead,:CellIdentity,:CallDuration#ifdef EXT10os	,:RecordExtensions	,:ChargingCharacterSelectionMode,:AnonyAccessIndicator#endif;     												SELECT SEQ_OSCDR.CURRVAL INTO :szSeqId FROM DUAL;#ifdef NO_TRANS			COMMIT;	#endif		END;	END-EXEC;	Unlock();	snprintf(pOut->SeqId, LEN_SEQ+1, "%s", szSeqId);	pOut->nFlag = SQL_OK;#ifdef _DEBUG	logOra(sErrLog, pOut->SeqId);#endif	return 0;sql_error:	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 DbOSCDRSelect(char* pInSzTableName, char* pWhere, struct S_OSCDR** 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;

⌨️ 快捷键说明

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