?? oradb.h
字號:
char ServedIMSI[LEN_ServedIMSI+1]; char ServedIMEI[LEN_ServedIMEI+1]; char SGSNIPAddress[LEN_IpAddr+1]; char MSNetworkCapability[LEN_MSNetworkCapability+1]; char RoutingAreaCode[9]; char LocationAreaCode[17]; char CellIdentity[25]; char ChargingID[11];/*int*/ char GGSNAddress[LEN_IpAddr+1]; char AccessPointNameNI[64]; char PDPTypeNumber[9]; char ServedPDPAddress[LEN_IpAddr+1]; char RecordOpenTime[LEN_DATETIME + 1]; char CallDuration[12+1]; char Diagnostics[LEN_Diagnostics+1]; char APNSelectionMode; char AccessPointNameOI[38]; char ServedMSISDN[LEN_ServedMSISDN+1]; char ChargingCharacteristics[LEN_ChargingCharacteristics+1]; char ConsolidationResult[3]; char ChargingCharacterSelectionMode; /* CAMEL Information*/ char SCFAddress[LEN_SCFAddress+1]; char ServiceKey[LEN_ServiceKey+1]; char DefaultTransacHandling; char CAMELAPNNI[64]; char CAMELAPNOI[38]; char NumberOfDPEncounter[11]; char LevelOfCamelService[4]; char FreeFormatData[161]; char FFDAppendIndicator; char DefaultSMSHandling; char CAMELCallingPartyNumber[15]; char CAMELAccessDestinationSubNumber[44]; char CAMELSMSAdress[21]; char SmsReferenceNumber[9]; /** NOTE: begin **/ char DynamicAddressFlag;/* both for R99 & R4 */ char AnonyAccessIndicator; /* only for R4 */ /** NOTE: end **/ char APNOperatorIdentifier[37+1];/* both for R99 & R4 *//* vector<char> SystemType; vector<string> SGSNIPAddress; vector<char> SGSNChange; vector<string> CauseForRecClosing; vector<string> RecordSequenceNumber; vector<string> NodeID; deque<string> LocalRecordSequeceNumnber; vector<string> UnsentDownlinkVolume; vector<string> RecordExtensions;*/ char SystemType;/* char SGSNIPAddress[46];*/ char SGSNChange;/*int*/ char CauseForRecClosing[3]; char RecordSequenceNumber[11]; char NodeID[LEN_NodeID+1]; char LocalRecordSequeceNumnber[11]; char UnsentDownlinkVolume[11]; char RecordExtensions[LEN_RecordExtensions+1]; char FlagRead; /* PK & FK */ char SeqId[LEN_SEQ + 1]; char TableName[LEN_TABLENAME + 1]; int FlagRepeat; int FlagR499; /* stamp */ char DateCreated[LEN_DATETIME + 1]; char GsnId[LEN_GSNID+1];};#define SIZE_S_CSCDR sizeof(struct S_CSCDR) /*12 合并后的GCDR*/struct S_CGCDR{ short RecordType; char NetworkInitiatedPDPContext; char ServedIMSI[17]; char GGSNAddress[LEN_IpAddr+1]; char ChargingID[11]; char AccessPointNameNI[64]; char PDPTypeNumber[9];/*3];/**/ char ServedPDPAddress[LEN_IpAddr+1]; char DynamicAddressFlag; char RecordOpenTime[LEN_DATETIME + 1]; char CallDuration[13]; char Diagnostics[LEN_Diagnostics+1]; char NodeID[LEN_NodeID+1]; char APNSelectionMode; char ServedMSISDN[LEN_ServedMSISDN+1]; char SgsnPlmnIdentifier[LEN_SgsnPlmnIdentifier+1]; /* both for R4 & R99*/ char ConsolidationResult[3]; char ChargingCharacterSelectionMode; /** NOTE: begin **/ char ChargingCharacteristics[LEN_ChargingCharacteristics+1]; char AnonyAccessIndicator; /* only for R4 */ char RemotePdpAddr[LEN_IpAddr+1]; /* only for R4 */ char FlagRead; /* PK & FK */ char SeqId[LEN_SEQ + 1]; char TableName[LEN_TABLENAME + 1]; int FlagRepeat; int FlagR499; char DateCreated[LEN_DATETIME + 1]; char GsnId[LEN_GSNID+1]; /* to be remove */ char SGSNIPAddress[LEN_IpAddr+1]; char CauseForRecClosing[3]; char RecordSequenceNumber[11]; char RecordExtensions[LEN_RecordExtensions+1]; char LocalRecordSequeceNumnber[11]; /*char ChargingCharacterSelectionMode[3];*/};#define SIZE_S_CGCDR sizeof(struct S_CGCDR) /*結果集合*/struct S_RESULT{ int nFlag; char SeqId[LEN_SEQ+1]; char TableName[31];};#define SQL_OK 0#define SQL_RET_ERROR 1#define SQL_NO_UID 2#define SQL_NO_PWD 3#define _DEBUG#define LOG_ERROR#define MAXLINE 4096#define SQLMAX 4096//extern char sErrLog[1024];struct S_BSFILE{ char SeqId[LEN_SEQ + 1]; char RuleId [3]; char FileLoc[4001]; char DateCreated[LEN_DATETIME + 1]; char TableName[LEN_TABLENAME + 1];};#define SIZE_S_BSFILE sizeof(struct S_BSFILE)struct S_CDRFILE{ char SeqId[LEN_SEQ + 1]; char CDRTable[LEN_TABLENAME + 1]; char CDRType[3]; char FileId [LEN_SEQ+1]; char FileTable[LEN_TABLENAME + 1]; char DateCreated[LEN_DATETIME + 1]; char TableName[LEN_TABLENAME + 1];};#define SIZE_S_CDRFILE sizeof(struct S_CDRFILE)//#define NO_TRANS#undef NO_TRANS//#define LOG_SELECT#undef LOG_SELECT#include <stdio.h>#include <mysql.h>#include <pthread.h>#include <stdlib.h>#include <string.h>#include <stdarg.h>#include <time.h>struct S_CSCDR_LOAD : public S_CSCDR{ int nListOfTrafficVolumn; S_LLOTV *pListOfTrafficVolumn; int nCommon; S_LCOMM *pCommon;};#define SIZE_S_CSCDR_LOAD sizeof(struct S_CSCDR_LOAD)struct S_CGCDR_LOAD : public S_CGCDR{ int nListOfTrafficVolumn; S_LLOTV *pListOfTrafficVolumn; int nCommon; S_LCOMM *pCommon;};#define SIZE_S_CGCDR_LOAD sizeof(struct S_CGCDR_LOAD)struct S_OMCDR_LOAD : public S_OMCDR{ int nChangeLocation; S_LCLOC *pChangeLocation;};#define SIZE_S_OMCDR_LOAD sizeof(struct S_OMCDR_LOAD)struct S_LLCBC{ char SeqId[LEN_SEQ + 1]; char SortId[LEN_SORT+1]; char WtpTransactionIdentifier[10+1]; char MmsTransactionIdentifier[9]; char TableName[LEN_TABLENAME + 1];};#define SIZE_S_LLCBC sizeof(S_LLCBC)struct S_LCBC{ char SeqId[LEN_SEQ + 1]; char SortId[LEN_SORT+1]; char AccessCorrelationld[10+1]; char UplinkPacketCount[10+1]; char DownlinkPacketCount[10+1]; char UplinkByteCount[10+1]; char DownlinkByteCount[10+1]; char Action; char ChargingType[5]; char FlowTemplateIdentifier[10+1]; char ServiceClassIdentifier[33]; char FlowChargeIdentifier[21]; char ServiceClassDescriptor[65]; char FlowDescriptor[33]; char TimeDuration[10+1]; char SrcAddress[46]; char SrcPortStart[3]; char SrcPortEnd[3]; char DestAddress[46]; char DestPortStart[3]; char DestPortEnd[3]; char Protocol[3+1]; // NUMBER(3) char ContentType; // NUMBER(1) char MailHost[65]; char MimeContentType[33]; char MailFrom[65]; char SmtpResponseCode[10+1]; char WspContentType; // NUMBER(1) char Url[129]; char WapUserAgent[65]; // VARCHAR2 (64) char ReverseChargeIdentifier[17];// VARCHAR2 (16) char TableName[LEN_TABLENAME + 1]; int nLLCBC; S_LLCBC* pLLCBC;};#define SIZE_S_LCBC sizeof(S_LCBC)class C_DbConnect{public: C_DbConnect(); ~C_DbConnect(); MYSQL* Get() { return myConnect; } int Connect(char* szDbUId, char* szDbPwd, char* szDbSid); void Disconnect(); void Lock(); void Unlock(); int Initialize(); void Destroy();private: MYSQL * myConnect; pthread_mutex_t sDbLock;};class C_MYSQL{public: C_MYSQL(); C_MYSQL(C_DbConnect* pDb); ~C_MYSQL(); void DbOGCDRTest(); void DbASNERRORTest(); void DbCGCDRTest(S_CGCDR & ); void DbCSCDRTest(S_CSCDR & ); void DbLCLOCTest(); void DbLCOMMTest(); void DbLLOTVTest(); void DbGTPTest(); void DbOMCDRTest(); void DbOMOCDRTest(); void DbOMTCDRTest(); void DbOSCDRTest(); void LCBCTest(); void LLCBCTest();protected: int DbCount(const char* szSql, MYSQL* pConnect); int GetSeq(char* szSeqId); /* 初始 gtp'包*/ int DbGTPInsert(struct S_GTPL* pIn, struct S_RESULT* pOut); int DbGTPCount(char* pInSzTableName, long inIPeerIp, long inIPeerSeqId, long *nOutCount); int DbGTPSelect2(long inIPeerIp, long inIPeerSeqId, char *pInSzTableName, int *RecordType, char *szOutContent, char *szOutSeqId); int DbGTPSelect(char* pInSzTableName, char* szInSeqId, int* RecordType, char* szOutContent, char* szOutSeqId, int* nPeerIp, int *nFlagCancel); int DbReadOgtplTableCount( char *p_timeStart, int p_timeAcceptedFree, int *p_bIsFree, char *p_timeErrorStart, char *p_timeErrorEnd, int *p_nResult); int DbGTPInsert2(struct S_GTPL* pIn, struct S_RESULT* pOut); /* asn.1 解碼數據 */ int DbASNERRORInsert(struct S_ASNERROR* pIn, struct S_RESULT* pOut); int DbOSCDRInsert(struct S_OSCDR* pIn, struct S_RESULT* pOut); int DbOGCDRInsert(struct S_OGCDR* pIn, struct S_RESULT* pOut); int DbOMCDRInsert(struct S_OMCDR* pIn, struct S_RESULT* pOut); int DbOMOCDRInsert(struct S_OMOCDR* pIn, struct S_RESULT* pOut); int DbOMTCDRInsert(struct S_OMTCDR* pIn, struct S_RESULT* pOut); /* 輔助列表 */ int DbLCLOCInsert(struct S_LCLOC* pIn, struct S_RESULT* pOut); int DbLLOTVInsert(struct S_LLOTV* pIn, struct S_RESULT* pOut); int DbLCOMMInsert(struct S_LCOMM* pIn, struct S_RESULT* pOut); /* 合并結果*/ int DbCSCDRInsert(struct S_CSCDR* pIn, struct S_RESULT* pOut); int DbCGCDRInsert(struct S_CGCDR* pIn, struct S_RESULT* pOut); /* 查詢*/ /* 合并及輔助查詢 */ int DbCSCDRSelect(char* pInSzTableName, char* pWhere, struct S_CSCDR_LOAD** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbCGCDRSelect(char* pInSzTableName, char* pWhere, struct S_CGCDR_LOAD** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbLCLOCSelect(char* pInSzTableName, char* pInSeqId, struct S_LCLOC** pOutLChangeLocation, int * number, struct S_RESULT* pOut); int DbLLOTVSelect(char* pInSzTableName, char* pInSeqId, struct S_LLOTV** pOutLChangeLocation, int * number, struct S_RESULT* pOut); int DbLCOMMSelect(char* pInSzTableName, char* pInSeqId, struct S_LCOMM** pOutLChangeLocation, int * number, struct S_RESULT* pOut); int DbCGCDRSelect2(char* pInSzTableName, char* pWhere, struct S_CGCDR** pOutCDR, int *nItems, struct S_RESULT* pOut); /* 查詢原始 CDR */ int DbOSCDRSelect(char* pInSzTableName, char* pWhere, struct S_OSCDR** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbOGCDRSelect(char* pInSzTableName, char* pWhere, struct S_OGCDR** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbOMCDRSelect(char* pInSzTableName, char* pWhere, struct S_OMCDR_LOAD** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbOMOCDRSelect(char* pInSzTableName, char* pWhere, struct S_OMOCDR** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbOMTCDRSelect(char* pInSzTableName, char* pWhere, struct S_OMTCDR** pOutCDR, int *nItems, struct S_RESULT* pOut); /* 更新表 */ int DbUpdateTable(char* pInSzSQL, struct S_RESULT* pOut); int DbASNERRORSelect(char* pInSzTableName, char* pWhere, struct S_ASNERROR** pOutCDR, int *nItems, struct S_RESULT* pOut); int DbCommit(); int DbRollback(); /*數據庫連接維護*/ /* static int DbConnect(char* szDbUId, char* szDbPwd, char* szDbSid); static void DbDisconnect(); static void Lock(); static void Unlock(); static int Initialize(); static void Destroy(); static void logOra(char* szFilename, char* szMessage, ...); static void onError(); */ int DbConnect(char* szDbUId, char* szDbPwd, char* szDbSid); void DbDisconnect(); void Lock(); void Unlock(); int Initialize(); void Destroy(); void logOra(char* szFilename, char* szMessage, ...); void onError(); void DbSelect(char tablename[10]); int DbCdrFileInsert(struct S_CDRFILE* pCdr); int DbBsFileInsert(struct S_BSFILE* pCdr); int DbUpdateTable2(char* pInSzSQL, struct S_RESULT* pOut); int DbLCBCInsert(S_LCBC* p); int DbLLCBCInsert(S_LLCBC* p);protected: /* static MYSQL * myConnect; static char sSid[64]; static char sUid[64]; static char sPwd[64]; static char sErrLog[1024]; static pthread_mutex_t sDbLock;//=PTHREAD_MUTEX_INITIALIZER; */ MYSQL * myConnect; char sSid[64]; char sUid[64]; char sPwd[64]; char sErrLog[1024]; C_DbConnect* m_pDb; bool m_bCreatedByDb;};#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -