BCP命令的流输出

时间:2019-10-21 12:49:13

标签: python sql-server bcp sqlbulkcopy

当我尝试从python中的ms SQL流式传输BCP命令时,仅在命令完成后才打印行。

但是,当您在终端中运行命令时,您可以看到该进程正在流式传输。 python有什么方法可以实时接收BCP的输出吗?

下面是我尝试过的代码:

bcp_command = ['bcp', target_table, 'in', file_path, '-t', delimiter, '-q', '-c', '-S', settings['server'], '-d', settings['database'], '-U', settings['uid'], '-P', settings['pwd']]

with subprocess.Popen(bcp_command, stdout=subprocess.PIPE, universal_newlines=True) as p:
    for line in p.stdout.readlines():
        print(line)

    if p.returncode:
        raise subprocess.CalledProcessError(p.returncode, bcp_command)

预期:BCP命令输出的实时流。

实际:命令完成后立即给出全部输出。

0 个答案:

没有答案