python封装sqlldr排坑

思路:用python读取配置库,读取配置,判断sqlldr参数(如direct,append等),写ctl文件,用python的os.system(cmd)直接运行。直接获取linux的返回值判断程序运行结果,从日志里查找关键字,获取运行信息。

sqlldr执行格式:

sqlldr %s/%s@10.238.100.236/xjbidb control=%s log=%s bad=%s discard=%s

遇到的问题:1.如果在ctl里设定了errors(运行错误记录数,默认50),并且文件缺失有错误记录并不超过设置,返回码为2,如果没有错误记录,返回码为0. 

                        2.在日志里搜索load记录值时,如果记录值小于10(好像),日志里会显示"6 Row successfully loaded",而如果记录值大于10,会是"6 Rows successfully loaded"。

 re.search('(.*?)Row(.*?) successfully loaded.', ctl_log)

                       3.因为os.system()的返回值和linux值之间要进行转换,所以判断前,先要作转换

res = os.system(cmd_str)        
if (res >> 8 == 0):

.

.

.

(待续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值