客户端专用 数据库操作类 LuaICE
使用说明
本类主要用于中心数据库的操作,客户端中有预定义的名称db=LuaICE();在脚本中可以直接使用db来调用。
///仅为Lua访问方便使用
class LuaICE
{
public:
LuaICE();
~LuaICE();
///仅是为了兼容而存在
int id();
///取消调用 一般不使用
void cancel();
///获取服务端信息
void printServerInfo();
///获得服务端IP
string getServerIP();
///获取端口
int getPort();
///设置本次查询的超时时间
void setInvocationTimeout(int iMSecond=5000);
///设置是否压缩
void enableCompress(bool bEnable);
///是否压缩传输
bool isCompress();
///取消文件下载
void cancelDownload();
///设置ICE
bool setICE(const string &sName);
///设置服务端的IP和端口
void setServer(const string& sIP, int iPort);
///从池里获取IP和端口
void fromPool(const string& sIP, int iPort);
///登录
bool login();
///是否已登陆
bool isLogin();
///返回版本号
string getVersion();
///ping测试服务器连接
bool ping();
///查询
int select(const string &sql, const string ¶m, CSelectHelp &help);
///只返回指定的开始行
int selectTop(int iStart, int iTopCount, const string& sql, const string& sParam, CSelectHelp& help);
///查询
int selectCompress(const string &sql, const string ¶m, CSelectHelp &help);
///执行SQL
bool execSQL(string sql, string param="",bool bLog=false);
///用于日志管理
bool execSQLLog(string sql, string param);
///key为user_id,rfid_user_id,ip,dc_loc_id
void setLogKV(string key,string v);
///获取服务器的配置信息
string getConfigure(const string &segment, const string &key);
///获取服务器时间
string getTime();
///执行Command
int commandStr(const string &cmd, const string ¶m, CTNString& str);
///执行Command
int command(const string &cmd, const string ¶m, CIntent& outIt);
///获得最大ID
int getMaxID(const string& sSeqName, int count, CIntent& outIt);
///获取ID
int getID(const string& sSeqName, int count=1,bool bFromOne = false);
///iFullDate 意思为: 0代表20160212 1代表201602121234 2代表 201602 3代表2016 4代表 1602 5代表160212 9代表无时间 sSeqName代表名称 sPre是指前缀 iSize整数流水号的位数
string getStrID(const string& sSeqName, const string& sPre, int iSize=6,int iFullDate=1,int iNeedRestart=0);
///调用plugin
int plugin(const string &pname, const string &cmd, const string ¶m);
///发送字符串
void sendOneway(const string &msg);
///发送字符串
bool send(const string &msg);
///执行存储过程
bool execProc(const string& sql, const string& sParam,CSelectHelp& help,CTNString& sError);
///发送字符串
bool writeBusiLog(const string &personid, const string &ip, const string &busiType, const string &comment);
///异步远程执行数据库
bool execSQLBatch(const std::string &sql,CTNString& sError);
///分批次取大量数据
string selectPrepare(const string &sql);
///分批次取大量数据
string selectPrepareByParam(const string &sql, const string ¶m);
///分批次取大量数据
int selectNext(const string &sRegID, CSelectHelp &help);
///分批次取大量数据
bool selectFinish(const string &sRegID);
///设置每批取的数量,仅对上一条分批次取有效
void setFetchOneCount(const string &sRegID, int iCount);
///执行selectCmd命令
int selectCmd(const std::string &cmd, const std::string &sqlcode, const std::string ¶m,CIntent& outIt);
///执行selectCmd命令
int execCmd(const std::string &cmd, const std::string &sqlcode, const std::string ¶m,CIntent& outIt);
///执行selectCmd命令,返回CTNString
int selectCmdStr(const std::string &cmd, const std::string &sqlcode, const std::string ¶m, CTNString& ostr);
///执行selectCmd命令,返回CTNString
int execCmdStr(const std::string &cmd, const std::string &sqlcode, const std::string ¶m, CTNString& ostr);
///返回值
string error();
///获取selectCmd,execCmd的返回代,仅对selectCmd,execCmd有效果
int code();
///获取selectCmd,execCmd的返回内容
string value();
///下载系统文件
bool downloadFile(const string& sFile, const string& sDestPath);
///下载业务文件
bool downloadFileBusi(const string& sFile, const string& sDestPath);
///下载系统目录文件
bool downloadDir(const string& sRemoteDir, const string& sDestPath, CSelectHelp &helpResult);
///上传业务目录
bool downloadDirBusi(const string& sRemoteDir, const string& sDestPath, CSelectHelp &helpResult);
///用于图片及系统的升级下载
int upload(const string& sFile, const string& sRemotePath);
///上传业务文件
int uploadBusi(const string& sFile, const string& sRemotePath,const string& sRemoteFile="");
///获取指定文件的信息
bool getFileInfo(const string& sFilePath, CSelectHelp& help);
///获取指定文件的信息
bool getFileInfoSeq(const string& sFilePath, CSelectHelp& help);
///获取流水号,移植到db对象中,提高性能并避免事务冲突
int getNewID(const string& sSeqName, int count = 1,bool bFromOne = false);
///获取流水号,参数为系统参数定义中已配置的参数
string getBarcode(const string& sCode);
string getBusiBarcode (const string& sCode, CIntent& itMy);
///用于获取业务编码,存在业务编码模忒版本v2, 用千支持两个条码规则混佘模式2018 / 12 / 15
bool getBusiBarcodeMix(const string& sBarCode, const string&sBarcode2, CIntent& itMy, CIntent& itMy2,bool bTest, CVector& v);
};