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

问题描述 投票:0回答:1

这很好。

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

我无法从文档中找到答案。我们将不胜感激。

谢谢。

python sqlcmd
1个回答
1
投票

这应该工作

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

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

© www.soinside.com 2019 - 2024. All rights reserved.