资源描述
sqc基础库使用手册
12
2020年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
展开阅读全文