oscdr.cpp
来自「Mysql的处理」· C++ 代码 · 共 581 行 · 第 1/2 页
CPP
581 行
#include "oradb.h"void C_MYSQL::DbOSCDRTest(){ S_OSCDR pIn3; S_RESULT pOut3; memset(&pIn3,0,sizeof(pIn3)); pIn3.RecordType=2; pIn3.NetworkInitiatedPDPContext='A'; snprintf(pIn3.ServedIMSI,LEN_ServedIMSI+1,"2"); snprintf(pIn3.ServedIMEI,LEN_ServedIMEI+1,"2"); pIn3.ServedIMEI[0]=0; snprintf(pIn3.SGSNIPAddress,LEN_IpAddr+1,"2"); snprintf(pIn3.MSNetworkCapability,LEN_MSNetworkCapability+1,"2"); memcpy(pIn3.RoutingAreaCode,"1111111111111111111111",5); memcpy(pIn3.LocationAreaCode,"11111111111111111111111111",5); memcpy(pIn3.CellIdentity,"111111111111111111111111",5); memcpy(pIn3.ChargingID,"11111111111111111111",5); //pIn3.ChargingID[0]=0; snprintf(pIn3.GGSNAddress,LEN_IpAddr+1,"2"); memcpy(pIn3.AccessPointNameNI,"111111111111111111111111",5); memcpy(pIn3.PDPTypeNumber,"11111111111111",5); snprintf(pIn3.ServedPDPAddress,LEN_IpAddr+1,"2"); snprintf(pIn3.RecordOpenTime,LEN_DATETIME + 1,"2"); memcpy(pIn3.CallDuration,"11111111111111111",5); pIn3.SGSNChange='A'; memcpy(pIn3.CauseForRecClosing,"111111",2); snprintf(pIn3.Diagnostics,LEN_Diagnostics+1,"2"); memcpy(pIn3.RecordSequenceNumber,"1111111111111111",5); snprintf(pIn3.NodeID,LEN_NodeID+1,"2"); snprintf(pIn3.RecordExtensions,LEN_RecordExtensions+1,"2"); memcpy(pIn3.LocalRecordSequeceNumnber,"11111111111111111",5); pIn3.APNSelectionMode=2; memcpy(pIn3.AccessPointNameOI,"11111111111111111",5); snprintf(pIn3.ServedMSISDN,LEN_ServedMSISDN+1,"2"); snprintf(pIn3.ChargingCharacteristics,LEN_ChargingCharacteristics+1,"2"); pIn3.SystemType=2; snprintf(pIn3.SCFAddress,LEN_SCFAddress+1,"2"); snprintf(pIn3.ServiceKey,LEN_ServiceKey+1,"2"); pIn3.DefaultTransacHandling=2; memcpy(pIn3.CAMELAPNNI,"1111111111111111111",5); memcpy(pIn3.CAMELAPNOI,"111111111111111111111111",5); memcpy(pIn3.NumberOfDPEncounter,"1111111111111111",5); memcpy(pIn3.LevelOfCamelService,"111111111111111",5); memcpy(pIn3.FreeFormatData,"111111111111111111",5); pIn3.FFDAppendIndicator=2; pIn3.DefaultSMSHandling=2; memcpy(pIn3.CAMELCallingPartyNumber,"11111111111111111",5); memcpy(pIn3.CAMELAccessDestinationSubNumber,"111111111111111",5); memcpy(pIn3.CAMELSMSAdress,"11111111111111111",5); memcpy(pIn3.SmsReferenceNumber,"111111111111111111",5); memcpy(pIn3.UnsentDownlinkVolume,"11111111111111111111",5); pIn3.DynamicAddressFlag=1; memcpy(pIn3.APNOperatorIdentifier,"1111111111111111",5); pIn3.AnonyAccessIndicator=2; pIn3.FlagRead=2; snprintf(pIn3.GtpName,LEN_TABLENAME + 1,"2"); snprintf(pIn3.GtpId,LEN_SEQ + 1,"2"); snprintf(pIn3.MergeName,LEN_TABLENAME + 1,"2"); snprintf(pIn3.MergeId,LEN_SEQ + 1,"2"); pIn3.FlagRepeat=2; pIn3.FlagR499=2; snprintf(pIn3.DateCreated,LEN_DATETIME + 1,"2"); snprintf(pIn3.GsnId,LEN_GSNID+1,"2"); snprintf(pIn3.TableName,LEN_TABLENAME + 1,"OSCDR"); pIn3.ChargingCharacterSelectionMode=2; DbOSCDRInsert(&pIn3, &pOut3);}int C_MYSQL::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); 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," "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,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[0]==0?"NULL":ChargingID,// GGSNAddress, AccessPointNameNI, APNSelectionMode, PDPTypeNumber, ServedPDPAddress, RecordOpenTime, SGSNChange, CauseForRecClosing[0]==0?"NULL":CauseForRecClosing,// Diagnostics[0]==0?"NULL":Diagnostics,// RecordSequenceNumber[0]==0?"NULL":RecordSequenceNumber,// NodeID, LocalRecordSequeceNumnber[0]==0?"NULL":LocalRecordSequeceNumnber,// AccessPointNameOI, UnsentDownlinkVolume[0]==0?"NULL":UnsentDownlinkVolume,// ChargingCharacteristics, DynamicAddressFlag, SCFAddress, ServiceKey[0]==0?"NULL":ServiceKey,// DefaultTransacHandling, CAMELAPNNI, CAMELAPNOI, NumberOfDPEncounter[0]==0?"NULL":NumberOfDPEncounter,// LevelOfCamelService, FreeFormatData, FFDAppendIndicator, DefaultSMSHandling, CAMELCallingPartyNumber, CAMELAccessDestination, CAMELSMSAdress, SmsReferenceNumber, GtpId[0]==0?"NULL":GtpId, GtpName, GsnId[0]==0?"NULL":GsnId, FlagRead, CellIdentity, CallDuration[0]==0?"NULL":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; } if(GetSeq(p->SeqId) != 0) {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?