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

Running SQLCmd with multiple scripting variables using Python subprocess.call

运行良好。

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' 不是在子进程调用中指定多个脚本变量的正确方法。

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

谢谢。

这应该有效

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

如果将Year=2018Month=2组合成一个字符串,python会将其视为一个参数,SQLCmd.exe[=14=无法识别]