?? omocdr.cpp
字號:
#include "oradb.h"/********************************************************* filename :OMOCDR.pc* function descrpition :insert data into database OMOCDRxxxxxxxxxx * input :struct S_OMOCDR * * output :SQL_OK ( operation sucess) SQL_RET_ERRO (operation failed)* date :2006-05-22**********************************************************/int DbOMOCDRInsert(struct S_OMOCDR* pIn, struct S_RESULT* pOut){/* get info */ /* PK & FK */ short RecordType=pIn->RecordType; char *GtpName=(char *)pIn->GtpName; char *GtpId=(char *)pIn->GtpId; int FlagRead = pIn->FlagRead; int FlagRepeat=pIn->FlagRepeat; int FlagR499=pIn->FlagR499; char *ServedIMSI=(char *)pIn->ServedIMSI; char *ServedIMEI=(char *)pIn->ServedIMEI; char *ServedMSISDN=(char *)pIn->ServedMSISDN; char *MSNetworkCapability=(char *)pIn->MSNetworkCapability; char *RoutingAreaCode=(char *)pIn->RoutingAreaCode; char *LocationAreaCode=(char *)pIn->LocationAreaCode; char *CellIdentity=(char *)pIn->CellIdentity;/* int ChargingID=pIn->ChargingID;*/ char *ServiceCenter=(char *)pIn->ServiceCenter; char *RecordingEntity = (char*)pIn->RecordingEntity; char *EventStampTime=(char *)pIn->EventStampTime; /*char*/int SystemType=pIn->SystemType; char* MessageReference = pIn->MessageReference; /*char*/int SMSResult=pIn->SystemType; char *NodeID=(char *)pIn->NodeID; char *ChargingCharacteristics=(char *)pIn->ChargingCharacteristics; char *LocalRecordSequeceNumnber=(char *)pIn->LocalRecordSequeceNumnber; char *DestinationNumber=(char *)pIn->DestinationNumber; /* CAMEL Information*/ char *SCFAddress=(char *)pIn->SCFAddress; char *ServiceKey=(char *)pIn->ServiceKey; /*char*/int DefaultTransacHandling=pIn->DefaultTransacHandling; char *CAMELAPNNI=(char *)pIn->CAMELAPNNI; char *CAMELAPNOI=(char *)pIn->CAMELAPNOI; char *NumberOfDPEncounter=(char *)pIn->NumberOfDPEncounter; char *LevelOfCamelService=(char *)pIn->LevelOfCamelService; char *FreeFormatData=(char *)pIn->FreeFormatData; /*char*/int FFDAppendIndicator=pIn->FFDAppendIndicator; /*char*/int DefaultSMSHandling=pIn->DefaultSMSHandling; char *CAMELCallingPartyNumber=(char *)pIn->CAMELCallingPartyNumber; char *CAMELAccessDestination=(char *)pIn->CAMELAccessDestinationSubNumber; char *CAMELSMSAdress=(char *)pIn->CAMELSMSAdress; char *SmsReferenceNumber=(char *)pIn->SmsReferenceNumber; /*char DateCreated[LEN_DATETIME + 1]=(char *)pIn->;*/ char *GsnId=(char *)pIn->GsnId; char *TableName=(char *)pIn->TableName; char *RecordExtensions = pIn->RecordExtensions;#ifdef EXT10mo int ChargingCharacterSelectionMode = pIn->ChargingCharacterSelectionMode;#endif /* peer ip */ char *GsnIpAddr = pIn->GsnIpAddr; char szMsg[512]; char szSQL[SQLMAX]; char SeqId[LEN_SEQ + 1]; /* EXEC SQL BEGIN DECLARE SECTION; EXEC SQL VAR SeqId IS STRING(LEN_SEQ + 1); EXEC SQL END DECLARE SECTION; EXEC SQL WHENEVER SQLERROR GOTO sql_error; EXEC SQL SELECT SEQ_OMOCDR.NEXTVAL INTO :SeqId FROM DUAL; /* PART 2 INSERT STATEMENT *//*#ifdef _DEBUGsnprintf(szSQL,SQLMAX,"INSERT INTO %s (""SEQID,GTPID,GTPLTABLE,FLAGR499," "SERVEDIMSI,SERVEDIMEI,SERVEDMSISDN,MSNNETWORKCAPABILITY," "SERVICECENTER,ROUTINGAREACODE,LOCATIONAREACODE,EVENTSTAMPTIME," "SMSRESULT,NODEID,LOCALRECORDSEQUECENUMBER,CHARGINGCHARACTERISTICS,""SYSTEMTYPE,DESTINATIONNUNMBER,SCFADDRESS,SERVICEKEY," "DEFAULTTRANSACHANDLING,CAMELAPNNI,CAMELAPNOI,NUMBEROFDPENCOUNTER, " "LEVELOFCAMELSERVICE,FREEFORMATDATA,FFDAPPENDINDICATOR,DEFAULTSMSHANDLING," "CAMELCALLINGPARTYNUMBER,CAMELACCESSDESTNO,CAMELSMSADDRESS,SMSREFERENCENUMBER," "DATECREATED,GSNID,FLAGREAD,RECORDINGENTITY,MESSAGEREFRENCE) VALUES(" "'%s','%s','%s',%d," "'%s','%s','%s','%s'," "'%s','%s','%s',TO_DATE('%s','YYYYMMDDHH24MISS'), " "%d ,'%s','%s','%s', " "%d,'%s','%s','%s'," "%d,'%s','%s','%s'," "'%s','%s',%d,%d," "'%s','%s','%s','%s'," "SYSDATE,'%s',%d," "'%s','%s')", TableName, SeqId, GtpId,GtpName,FlagR499, ServedIMSI,ServedIMEI,ServedMSISDN,MSNetworkCapability, ServiceCenter,RoutingAreaCode,LocationAreaCode,EventStampTime, SMSResult,NodeID,LocalRecordSequeceNumnber, ChargingCharacteristics, SystemType,DestinationNumber,SCFAddress,ServiceKey, DefaultTransacHandling,CAMELAPNNI,CAMELAPNOI,NumberOfDPEncounter, LevelOfCamelService,FreeFormatData,FFDAppendIndicator,DefaultSMSHandling, CAMELCallingPartyNumber,CAMELAccessDestination,CAMELSMSAdress,SmsReferenceNumber, GsnId,FlagRead, RecordingEntity,MessageReference); logOra(sErrLog, szSQL);#endif*/snprintf(szSQL,SQLMAX,"INSERT INTO %s (""GTPID,GTPLTABLE,FLAGR499," "FLAGREPEAT," "SERVEDIMSI,SERVEDIMEI,SERVEDMSISDN,MSNNETWORKCAPABILITY," "SERVICECENTER,ROUTINGAREACODE,LOCATIONAREACODE,EVENTSTAMPTIME," /*13*/ "SMSRESULT,NODEID,LOCALRECORDSEQUECEnumeric,CHARGINGCHARACTERISTICS,""SYSTEMTYPE,DESTINATIONNUNMBER,SCFADDRESS,SERVICEKEY," "DEFAULTTRANSACHANDLING,CAMELAPNNI,CAMELAPNOI,NUMBEROFDPENCOUNTER, " "LEVELOFCAMELSERVICE,FREEFORMATDATA,FFDAPPENDINDICATOR,DEFAULTSMSHANDLING," "CAMELCALLINGPARTYNUMBER,CAMELACCESSDESTNO,CAMELSMSADDRESS,SMSREFERENCENUMBER," "DATECREATED,GSNID,FLAGREAD,RECORDINGENTITY,MESSAGEREFRENCE"#ifdef EXT10mo",RECORDEXTENSIONS"",CHARGINGCHARACTERSELECTIONMODE"",CELLIDENTITY"#endif",GSNIPADDR"") VALUES(" "%s,'%s',%d," "%d," "'%s','%s','%s','%s'," "'%s','%s','%s','%s', " "%d ,'%s',%s,'%s', " "%d,'%s','%s',%s," "%d,'%s','%s',%s," "'%s','%s',%d,%d," "'%s','%s','%s','%s'," "NOW(),%s,%d,'%s','%s'"#ifdef EXT10mo",'%s'"",%d"",'%s'"#endif",'%s'"")", TableName, GtpId,GtpName,FlagR499, FlagRepeat, ServedIMSI,ServedIMEI,ServedMSISDN,MSNetworkCapability, ServiceCenter,RoutingAreaCode,LocationAreaCode,EventStampTime, SMSResult,NodeID,LocalRecordSequeceNumnber, ChargingCharacteristics, SystemType,DestinationNumber,SCFAddress,ServiceKey, DefaultTransacHandling,CAMELAPNNI,CAMELAPNOI,NumberOfDPEncounter, LevelOfCamelService,FreeFormatData,FFDAppendIndicator,DefaultSMSHandling, CAMELCallingPartyNumber,CAMELAccessDestination,CAMELSMSAdress,SmsReferenceNumber, GsnId,FlagRead,RecordingEntity,MessageReference#ifdef EXT10mo,RecordExtensions,ChargingCharacterSelectionMode,CellIdentity#endif,GsnIpAddr ); #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();// Lock();/* EXEC SQL EXECUTE DECLARE BEGIN EXECUTE IMMEDIATE :szSQL using :SeqId, :GtpId,:GtpName,:FlagR499,:FlagRepeat, :ServedIMSI,:ServedIMEI,:ServedMSISDN,:MSNetworkCapability, :ServiceCenter,:RoutingAreaCode,:LocationAreaCode,:EventStampTime, :SMSResult,:NodeID,:LocalRecordSequeceNumnber,:ChargingCharacteristics, :SystemType,:DestinationNumber,:SCFAddress,:ServiceKey, :DefaultTransacHandling,:CAMELAPNNI,:CAMELAPNOI,:NumberOfDPEncounter, :LevelOfCamelService,:FreeFormatData,:FFDAppendIndicator,:DefaultSMSHandling, :CAMELCallingPartyNumber,:CAMELAccessDestination,:CAMELSMSAdress, :SmsReferenceNumber, :GsnId,:FlagRead, :RecordingEntity,:MessageReference#ifdef EXT10mo ,:RecordExtensions ,:ChargingCharacterSelectionMode ,:CellIdentity#endif,:GsnIpAddr; COMMIT; END; END-EXEC; Unlock(); pOut->nFlag = SQL_OK; snprintf(pOut->SeqId, LEN_SEQ+1, "%s", SeqId); return 0;sql_error: Unlock(); pOut->nFlag = SQL_RET_ERROR;#ifdef LOG_ERROR snprintf(szMsg, 512, "ORA:DbOMOCDRInsert: %.70s", sqlca.sqlerrm.sqlerrmc); logOra(sErrLog, szMsg);#endif EXEC SQL WHENEVER SQLERROR CONTINUE; onError();notfound: */ return 1;}/************************************************************************ filename :OMOCDR.pc* function descrpition :get records from database OMCDRxxxxxxxxxx * input :Tablename,Condition; * output :S_OMOCDR is record set to store what we want, nItems is counter of those record set,S_RESULT is flag to tell us about operation is sucessful or not;* date :2006-05-22*************************************************************************************/int DbOMOCDRSelect(char* pInSzTableName, char* pWhere, struct S_OMOCDR** pOutCDR, int *nItems, struct S_RESULT* pOut){ short ind[55]; short id[2]; short RecordType; char SeqId[LEN_SEQ + 1]; char GtpName[LEN_TABLENAME + 1]; char GtpId[LEN_SEQ + 1]; int FlagRead; int FlagRepeat; int FlagR499; char ServedIMSI[17]; char ServedIMEI[17]; char ServedMSISDN[LEN_ServedMSISDN+1]; char MSNetworkCapability[LEN_MSNetworkCapability+1]; char RoutingAreaCode[9]; char LocationAreaCode[17]; char CellIdentity[25]; /*int ChargingID;*/ char ServiceCenter[21]; char RecordingEntity[21]; char EventStampTime[LEN_DATETIME + 1]; char SystemType; char MessageReference[256]; char SMSResult;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -