sqc基础库使用手册.doc
sqc基础库使用手册122020年4月19日资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。SqcLib库接口定义新的sqc基础库采用c+封装, 开发人员只需要从基础类Db2Tools派生自己的业务类。然后重载基础类的busiLogic方法, 就能够完成自己业务逻辑处理。具体的处理流程为: 1、 在基础类Db2Tools的run方法中完成对具体应用参数的解析。2、 run方法调用busiLogic方法, 完成具体的业务逻辑3、 busiLogic方法中调用基础类的常见数据库访问方法, 完成对数据库的操作。4、 在基础类的数据库访问方法中, 除完成指定的数据库操作外, 同时完成日志输出和相关事务控制。日志的输出目录为profile文件中定义的AGENTTRACEDIR目录, 如果没有定义, 取默认路径1 函数列表1.1 数据库类( Db2Tools) 该类有两个主要功能: 1、 实现数据库访问2、 完成对具体业务逻辑调用和事务控制l connDb函数原形: int connDb(const char *m_para_conn)用途: 连接数据库参数: m_para_conn: 数据库名 dbname返回: 1.输入的数据库参数不对 2.密码参数环境变量设置错误 3.数据库连接失败 0.数据库连接成功l busiLogic函数原形: int busiLogic(void)用途: 业务逻辑入口参数: 返回: l run函数原形: int run(int argc,char *argv)用途: 实例开始入口参数: argc: 参数个数 Argv: 参数数组( 一般取main函数入口参数) 返回: 0: 成功, 其它: 失败l db2RunstatTab函数原形: int db2RunstatTab(char *tabname,char *file,int line)用途: 对表做runstats参数: tabname: 输入需要runstats的表名, schema.tabname或者tabname(schema默认为用户名)返回: -1: 失败 0: 成功l db2Insert函数原形: int db2Insert(char *sqlstr,char *tabname,char *file,int line)用途: 提交insert语句参数: sqlstr: insert sql语句 file: line: 返回: -1: 失败 0: 成功l db2Update函数原形: int db2Update(char *sqlstr,char *tabname,char *file,int line)用途: 提交update语句参数: sqlstr: update sql语句 file: line: 返回: -1: 失败 0: 成功l db2Delete函数原形: int db2Delete(char *sqlstr,char *tabname,char *file,int line)用途: 提交delete语句参数: sqlstr: delete sql语句 file: line: 返回: -1.失败 0.成功l db2DropTab函数原形: int db2DropTab(char *tabname,char *file,int line)用途: 删除表参数: tabname: 需要删除的表名, schema.tabname file: line: 返回: -1: 删除失败 1: 表不存在 0: 成功l db2DelAll函数原形: int db2DelAll(char *tabname, char *file,int line)用途: 清空该表中的全部数据参数: tabname: 需要删除的表名, schema.tabname file: line: 返回: -1: 删除失败 1: 表不存在 0: 成功l db2CreTab函数原形: int db2CreTab(char *sqlstr,char *tabname,char *file,int line)用途: 新建一张表参数: 返回: -1: 建表失败 1: 表已经存在 0: 建表成功l db2GrantTab函数原形: int db2GrantTab(char *user,char *tabname,char *file,int line)用途: 表付权函数, 只能付select权限, 一次只能给一个用户或者组付权参数: 返回: l dbRrefreshTab函数原形: int dbRrefreshTab(char *tabname,char *file,int line)用途: 同步刷新表参数: 返回: 1.2 日期类( DateFormat) 完成读日期的各种运算l CdateFormat 函数原形: CdateFormat (std:string pat)用途: 构造函数参数: pat: 输入日期的格式 l getMonthRoll函数原形: string getMonthRoll(int interval)用途: 获得输入月份偏移interval后的月份参数: interval: 偏移量返回: 返回yyyymm 格式的日期l getDateRoll函数原形: string getDateRoll(int intverval)用途: 获得输入日期偏移interval后的日期参数: interval: 偏移量返回: 返回yyyymmdd格式的日期l getYearRoll函数原形: string getYearRoll(int intverval)用途: 获得输入年偏移interval后的年份参数: interval: 偏移量返回: 返回yyyy格式的日期l setPattern 函数原形: int setPattern(std:string strFormat)用途: 指定输入日期值的格式 (%Y%m%d, %Y-%m-%d)参数: strFormat: 输入的日期格式 返回: -1: 执行失败 0: 执行成功l getPattern 函数原形: string getPattern ( )用途: 返回日期值的格式参数: strTime: 输入的日期返回: -1: 执行失败 0: 执行成功l dateParsing函数原形: int dateParsing(std:string strTime)用途: 把表示时间的字符串strTime按pattern格式转换成tm结构的日期时间结构参数: strTime: 输入的日期返回: -1: 执行失败 0: 执行成功l getLastDay 函数原形: string getLastDay ()用途: 返回指定月份的最后一天参数: 返回: 返回yyyymmdd格式的日期l getFirstDay 函数原形: string getFirstDay()用途: 返回指定月份的第一天参数: 返回: 返回yyyymmdd格式的日期l getQuater 函数原形: string getQuater ()用途: 返回当前月份所在的季度参数: 返回: 季度( 1、 2、 3、 4) 1.3 日志类 完成日志数据l writeLogTrace函数原形: int writeLogTrace(char *m_proname,int m_ddh,int m_rwh,int m_cmdstatus,char *promptMsg1,char *promptMsg2,char *file,int line,char *fpath)用途: 写ss日志到指定目录下参数: l open_trace函数原形: int open_trace(char * tast_name)用途: 打开trace文件参数: tast_name: 程序名返回: TRACE_FD: 会产生该全局变量, 指向文件的指针1.4 控制表类l synTab函数原形: int synTab(FILE *trace,char *sqlstr,char *tabname,char *file,int line)用途: 向同步申请表中插入需要同步的表参数: trace: 日志文件句柄 sqlstr: 同步sql语法 tabname: 需要同步的表名 file: 文件名 line: 行号返回: l writeSysLog函数原形: int writeSysLog(FILE *trace,int status,char *file,int line)用途: 向统一通信表中插入程序成功失败日志参数: trace: 日志文件句柄 status: 程序成功失败标识 file: 文件名 line: 行号返回: l errorLog