📄 cscdr.cpp
字号:
#include "oradb.h"int DbCSCDRInsert(struct S_CSCDR* 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; 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; int APNSelectionMode = p->APNSelectionMode; /*4*/ char *PDPTypeNumber = p->PDPTypeNumber; char *ServedPDPAddress = p->ServedPDPAddress; char *RecordOpenTime = p->RecordOpenTime; /*5*/ 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; 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; int FFDAppendIndicator = p->FFDAppendIndicator; int DefaultSMSHandling = p->DefaultSMSHandling; /*9*/ char *CAMELCallingPartyNumber = p->CAMELCallingPartyNumber; char *CAMELAccessDestination = p->CAMELAccessDestinationSubNumber; char *CAMELSMSAdress = p->CAMELSMSAdress; char *SmsReferenceNumber = p->SmsReferenceNumber; char* ConsolidationResult = p->ConsolidationResult; int ChargingCharacterSelectionMode = p->ChargingCharacterSelectionMode; char *CellIdentity=(char *)p->CellIdentity; /* stamp */ char *DateCreated = p->DateCreated; /*10*/ char *GsnId = p->GsnId; char *CallDuration = p->CallDuration; char *RecordExtensions = p->RecordExtensions; int AnonyAccessIndicator = p->AnonyAccessIndicator; int i=0; char szSeqId[21]={0,}; char szSQL[SQLMAX]; memset(szSQL,0,SQLMAX); memset(szSeqId,0,LEN_SEQ+1);/*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," "CONSOLIDATIONRESULT," "CHARGINGCHARACTERSELECTIONMODE," "DATECREATED," "GSNID,FLAGREAD, CALLDURATION"#ifdef EXT10cs",RECORDEXTENSIONS"",CELLIDENTITY"",ANONYACCESSINDICATOR"#endif ") VALUES(" "SEQ_CSCDR.NEXTVAL,""%d,%d,%d,%d,'%s',""'%s','%s','%s','%s','%s',""'%s','%s','%s','%s',%d,""'%s','%s', TO_DATE('%s', 'YYYYMMDDHH24MISS')," "%d,'%s',%d,'%s','%s'," "'%s','%s',%d,'%s',%d," "'%s','%s',%d,'%s','%s'," "'%s','%s','%s',%d,%d,""'%s','%s',""'%s','%s',""'%s',%d,""SYSDATE, '%s',%d, '%s'"#ifdef EXT10cs",'%s'"",'%s'"",%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, ConsolidationResult, ChargingCharacterSelectionMode, GsnId,FlagRead,CallDuration#ifdef EXT10cs,RecordExtensions,CellIdentity,AnonyAccessIndicator#endif );#ifdef _DEBUG logOra(sErrLog, szSQL);#endif*/ snprintf(szSQL, SQLMAX, "INSERT INTO %s (" "FLAGREPEAT," "FLAGR499," "NETWORKINITIATEDPDPCONTEXT," "SYSTEMTYPE," "SERVEDIMSI," "SERVEDIMEI," "SERVEDMSISDN," "SGSNIPADDRESS," "MSNNETWORKCAPABILITY," "ROUTINGAREACODE," /*12*/ "LOCATIONAREACODE," "CHARGINGID," "GGSNADDRESS," "ACCESSPOINTNAMENI," "APNSELECTIONMODE," "PDPTYPENUMBER," "SERVEDPDPADDRESS," "RECORDOPENTIME," /*20*/ "SGSNCHANGE," "CAUSEFORRECCLOSING,""DIAGNOSITICS," "RECORDSEQUENCENUMERIC," "NODEID," /*25*/ "LOCALRECORDSEQUECENUMERIC," "ACCESSPOINTNAMEOI," "UNSENTDOWNLINKVOLUMN," "CHARGINGCHARACTERISTICS," "DYNAMICADDRESSFLAG," /*30*/ "SCFADDRESS," "SERVICEKEY,""DEFAULTTRANSACHANDLING," "CAMELAPNNI," "CAMELAPNOI," "NUMERICOFDPENCOUNTER," "LEVELOFCAMELSERVICE," "FREEFORMATDATA," "FFDAPPENDINDICATOR," "DEFAULTSMSHANDLING," "CAMELCALLINGPARTYNUMERIC," "CAMELACCESSDESTNO," "CAMELSMSADDRESS," "SMSREFERENCENUMERIC," /*44*/ "CONSOLIDATIONRESULT," "CHARGINGCHARACTERSELECTIONMODE," "DATECREATED," "GSNID,FLAGREAD, CALLDURATION"#ifdef EXT10cs",RECORDEXTENSIONS"",CELLIDENTITY"",ANONYACCESSINDICATOR"#endif ") VALUES(" "%d,%d,%d,%d,'%s',""'%s','%s','%s','%s','%s',""'%s',%s,'%s','%s',%d,""'%s','%s', '%s'," "%d,%s,%d,%s,'%s'," "%s,'%s',%s,'%s',%d," "'%s',%s,%d,'%s','%s'," "%s,'%s','%s',%d,%d,""'%s','%s',""'%s','%s',""%s,%d,""NOW(), %s,%d, %s"#ifdef EXT10cs",'%s'"",'%s'"",%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, ConsolidationResult, ChargingCharacterSelectionMode, GsnId,FlagRead,CallDuration#ifdef EXT10cs,RecordExtensions,CellIdentity,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 BEGIN EXECUTE 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, :ConsolidationResult, :ChargingCharacterSelectionMode, :GsnId,:FlagRead,:CallDuration#ifdef EXT10cs,:RecordExtensions,:CellIdentity,:AnonyAccessIndicator#endif; SELECT SEQ_CSCDR.CURRVAL INTO :szSeqId FROM DUAL;#ifdef NO_TRANS COMMIT; #endif END; END-EXEC; Unlock(); snprintf(p->SeqId, LEN_SEQ+1, "%s", szSeqId); pOut->nFlag = SQL_OK; return 0;sql_error: Unlock();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -