微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Python脚本中的BCP捕获错误

如何解决从Python脚本中的BCP捕获错误

我已经构建了一个Python脚本来处理数据。

最后一步是将数据发送到MS-sql数据库

出于性能原因,我要使用BCP实用程序进行上传

但是,BCP总是返回退出代码0。

因此subprocess永远不会出现任何问题,这是一个问题。

我现在使用以下代码

bcp_command = [
    'bcp',table,'IN',str(file_path),'-t',f'{separator}','-w','-r',f'{line_ending}','-k'
] + self.bcp_authentication()
try:
    subprocess.run(bcp_command,stderr=subprocess.PIPE,check=True)
except subprocess.CalledProcessError as exc:
    self.logger.exception("Bcp command Failed: Details\n%s,\n%s",exc.output,exc.cmd)
    raise                                           

我考虑过在过程中保留输出日志:

process = subprocess.run(bcp_command)
process.stderr
process.stdout

,然后解析这些输出以找出是否发生错误。但是,我宁愿将此解决方案作为最后的手段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。