从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 (将#修改为@)