#ifndef __CDBCOMMITCLIENT_H__ #define __CDBCOMMITCLIENT_H__ #ifdef _WINDOWS64 #ifdef DB_COMMIT_DLL_EXPORTS #define DB_COMMIT_DLL_API __declspec(dllexport) #else #define DB_COMMIT_DLL_API __declspec(dllimport) #endif #else #define DB_COMMIT_DLL_API #endif #ifndef _WINDOWS64 #include #include #include #include #include #else #include #include #endif #include #include "db_commit_m.h" #include "servicemanage.h" #include "sysadm/scn_service.h" #include "pub_ctx.h" #include "system.h" #include "port_def.h" #include "logclient.h" using namespace std; using namespace NS_SYSADMIN; const int HIGH = 1; const int MIDDLE = 2; const int LOW = 3; const int NO_SQL_DUP = 0; const int SQL_DUP = 1; #define OP_BIND_INSERT 1 #define OP_BIND_UPDATE 2 #define OP_BIND_DELETE 3 #define BIND_COMMIT_DATATYPE_CHR 1 /* 字符型 unsigned char */ #define BIND_COMMIT_DATATYPE_INT 3 /* 短整型short 整形int 长整型long */ #define BIND_COMMIT_DATATYPE_FLT 4 /* 浮点数float double */ #define BIND_COMMIT_DATATYPE_STR 5 /* 字符串string */ #define BIND_COMMIT_DATATYPE_ODT 156 /* 日期型date*/ class DB_COMMIT_DLL_API CDbCommitClient { public: CDbCommitClient(); CDbCommitClient(int sys_port); CDbCommitClient(int sys_port, int seconds); ~CDbCommitClient(); public: void SetRequestTimeout(int seconds); short SqlCommit(TCommitStru CommitSqlStru); //1 short SqlCommitWithNoDup(TCommitStru CommitSqlStru); //2 short RsSqlCommit(TCommitStru CommitSqlStru); //3 short WarnSqlCommit(TCommitStru CommitSqlStru); //4 short LOBInsertCommit(char* sql_insert, char* sql_select, SEQCommitLOBValueType seq_lob_value); //5 short LOBUpdateCommit(char* sql_update, char* sql_select, SEQCommitLOBValueType seq_lob_value); //6 short SqlCommitWithBind(TCommitBindStru CommitBindStru); //7 #ifdef _DATASRV_DIVERSION //DATA_SRV分模式下指定访问的应用 //app_name = data_srv_dms 访问配网data_srv //其余取值访问主网data_srv void SetServiceApp(const char* app_name); void ClearServiceApp(); #endif private: ServiceInfo m_Serviceinfo; char m_IpAddress[64]; int m_Port; Handle m_Handle; char m_HostName[64]; CScnService* m_ServicesManage; int m_RequestTimeoutSeconds; int GetHostByAppNo(char* host_name, const int app_no, const short context_no); int SetServiceHost(); }; #endif