📄 oscdr.cpp
字号:
#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 + -