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 不行。