当前位置:文档之家› sqc基础库使用手册

sqc基础库使用手册

SqcLib库接口定义
新的sqc基础库采用c++封装,开发人员只需要从基础类Db2Tools派生自己的业务类。

然后重载基础类的busiLogic方法,就可以完成自己业务逻辑处理。

具体的处理流程为:
1、在基础类Db2Tools的run方法中完成对具体应用参数的解析。

2、run方法调用busiLogic方法,完成具体的业务逻辑
3、busiLogic方法中调用基础类的常用数据库访问方法,完成对数据库的操作。

4、在基础类的数据库访问方法中,除完成指定的数据库操作外,同时完成日志输出和相关事务控制。

[日志的输出目录为profile文件中定义的AGENTTRACEDIR目录,如果没有定义,取默认路径]
1函数列表
1.1数据库类(Db2Tools)
该类有两个主要功能:
1、实现数据库访问
2、完成对具体业务逻辑调用和事务控制
●connDb
函数原形:int connDb(const char *m_para_conn)
用途:连接数据库
参数:m_para_conn:数据库名dbname
返回:1.输入的数据库参数不对
2.密码参数环境变量设置错误
3.数据库连接失败
0.数据库连接成功
●busiLogic
函数原形:int busiLogic(void)
用途:业务逻辑入口
参数:
返回:
●run
函数原形:int run(int argc,char *argv[])
用途:实例开始入口
参数:argc:参数个数
Argv:参数数组
(通常取main函数入口参数)
返回:0:成功,其它:失败
●db2RunstatTab
函数原形:int db2RunstatTab(char *tabname,char *file,int line)
用途:对表做runstats
参数:tabname:输入需要runstats的表名,schema.tabname或者tabname(schema默认为用户名)
返回:-1:失败
0:成功
●db2Insert
函数原形:int db2Insert(char *sqlstr,char *tabname,char *file,int line)
用途:提交insert语句
参数:
sqlstr:insert sql语句
file:
line:
返回:-1:失败
0:成功
●db2Update
函数原形:int db2Update(char *sqlstr,char *tabname,char *file,int line)
用途:提交update语句
参数:
sqlstr:update sql语句
file:
line:
返回:-1:失败
0:成功
●db2Delete
函数原形:int db2Delete(char *sqlstr,char *tabname,char *file,int line)
用途:提交delete语句
参数:
sqlstr:delete sql语句
file:
line:
返回:-1.失败
0.成功
●db2DropTab
函数原形:int db2DropTab(char *tabname,char *file,int line)
用途:删除表
参数:
tabname:需要删除的表名,schema.tabname
file:
line:
返回:-1:删除失败
1:表不存在
0:成功
●db2DelAll
函数原形:int db2DelAll(char *tabname, char *file,int line)
用途:清空该表中的全部数据
参数:tabname:需要删除的表名,schema.tabname
file:
line:
返回:-1:删除失败
1:表不存在
0:成功
●db2CreTab
函数原形:int db2CreTab(char *sqlstr,char *tabname,char *file,int line)
用途:新建一张表
参数:
返回:-1:建表失败
1:表已经存在
0:建表成功
●db2GrantTab
函数原形:int db2GrantTab(char *user,char *tabname,char *file,int line)
用途:表付权函数,只能付select权限,一次只能给一个用户或者组付权参数:
返回:
●dbRrefreshTab
函数原形:int dbRrefreshTab(char *tabname,char *file,int line)
用途:同步刷新表
参数:
返回:
1.2日期类(DateFormat)
完成读日期的各种运算
●CdateFormat
函数原形:CdateFormat (std::string pat)
用途:构造函数
参数:pat:输入日期的格式
●getMonthRoll
函数原形:string getMonthRoll(int interval)
用途:获得输入月份偏移interval后的月份
参数:
interval:偏移量
返回:返回yyyymm 格式的日期
●getDateRoll
函数原形:string getDateRoll(int intverval)
用途:获得输入日期偏移interval后的日期
参数:
interval:偏移量
返回:返回yyyymmdd格式的日期
●getYearRoll
函数原形:string getYearRoll(int intverval)
用途:获得输入年偏移interval后的年份
参数:
interval:偏移量
返回:返回yyyy格式的日期
●setPattern
函数原形:int setPattern(std::string strFormat)
用途:指定输入日期值的格式(%Y%m%d, %Y-%m-%d)
参数:strFormat:输入的日期格式
返回:-1:执行失败
0:执行成功
●getPattern
函数原形:string getPattern ( )
用途:返回日期值的格式
参数:strTime:输入的日期
返回:-1:执行失败
0:执行成功
●dateParsing
函数原形:int dateParsing(std::string strTime)
用途:把表示时间的字符串strTime按pattern格式转换成tm结构的日期时间结构参数:strTime:输入的日期
返回:-1:执行失败
0:执行成功
●getLastDay
函数原形:string getLastDay ()
用途:返回指定月份的最后一天
参数:
返回:返回yyyymmdd格式的日期
●getFirstDay
函数原形:string getFirstDay()
用途:返回指定月份的第一天
参数:
返回:返回yyyymmdd格式的日期
●getQuater
函数原形:string getQuater ()
用途:返回当前月份所在的季度
参数:
返回:季度(1、2、3、4)
1.3日志类
完成日志数据
●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日志到指定目录下
参数:
●open_trace
函数原形:int open_trace(char * tast_name)
用途:打开trace文件
参数:tast_name:程序名
返回:TRACE_FD:会产生该全局变量,指向文件的指针
1.4控制表类
●synTab
函数原形:int synTab(FILE *trace,char *sqlstr,char *tabname,char *file,int line)
用途:向同步申请表中插入需要同步的表
参数:trace:日志文件句柄
sqlstr:同步sql语法
tabname:需要同步的表名
file:文件名
line:行号
返回:
●writeSysLog
函数原形:int writeSysLog(FILE *trace,int status,char *file,int line)
用途:向统一通信表中插入程序成功失败日志
参数:trace:日志文件句柄
status:程序成功失败标识
file:文件名
line:行号
返回:
errorLog。

相关主题