使用Python subprocess.call使用多个脚本变量运行SQLCmd

时间:2019-03-13 00:55:13

标签: python sqlcmd

运行正常。

C:\> SQLCmd.exe -i "myQry.sql" -v Year=2018 Month=2

但是这些错误出来了。

exitcode = subprocess.call(["SQLCmd.exe", "-i", "myQry.sql", "-v", "Year=2018 Month=2"])
 Or 
exitcode = subprocess.call(["SQLCmd.exe", "-i", "myQry.sql", "-v", ['Year=2018', 'Month=2']])
ValueError: SQLCmd failed in ['-v','Year=2018 Month=2']

看起来像“ Year = 2018 Month = 2”不是在子流程调用中指定多个脚本变量的正确方法。

我从文档中找不到答案。您的帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:1)

这应该有效

exitcode = subprocess.call(["SQLCmd.exe", "-i", "myQry.sql", "-v", "Year=2018", "Month=2"])

如果将Year=2018Month=2合并为一个字符串,python会将其视为单个参数,SQLCmd.exe无法识别该参数