SQLCMD 执行带参数的存储过程失败
SQLCMD failure executing stored procedure with parameter
刚开始使用 SQLCMD。
如果我运行下面的sqlcmd我得到一个错误
Incorrect syntax near '.209
命令:
sqlcmd -E -S MyServer\SQLEXPRESS -d MyDatebase-Q "EXEC spRunThisPS @IP=$(IP)" /v IP="192.168.209.4"
如果我只有“192.168”作为参数,脚本将 运行(显然 PS 失败,因为 ip 无效)。不确定“.”的数量。导致失败与否。
有什么想法或建议吗?
尼克
您可能需要将参数值用引号括起来,方法是将 IP 值指定为 IP="'192.168.209.4'"
,或者将它们添加到 EXEC
命令中的参数值周围(EXEC spRunThisPS @IP='$(IP)'
).
否则它会尝试将其解释为数值而不是字符串,这就是为什么 192.168 可以,而 192.168.209.4 不行。
刚开始使用 SQLCMD。
如果我运行下面的sqlcmd我得到一个错误
Incorrect syntax near '.209
命令:
sqlcmd -E -S MyServer\SQLEXPRESS -d MyDatebase-Q "EXEC spRunThisPS @IP=$(IP)" /v IP="192.168.209.4"
如果我只有“192.168”作为参数,脚本将 运行(显然 PS 失败,因为 ip 无效)。不确定“.”的数量。导致失败与否。
有什么想法或建议吗?
尼克
您可能需要将参数值用引号括起来,方法是将 IP 值指定为 IP="'192.168.209.4'"
,或者将它们添加到 EXEC
命令中的参数值周围(EXEC spRunThisPS @IP='$(IP)'
).
否则它会尝试将其解释为数值而不是字符串,这就是为什么 192.168 可以,而 192.168.209.4 不行。