Stored procedures 使用参数执行存储过程时发生SQLCMD故障

Stored procedures 使用参数执行存储过程时发生SQLCMD故障,stored-procedures,parameters,sql-server-express,sqlcmd,Stored Procedures,Parameters,Sql Server Express,Sqlcmd,新的使用SQLCMD 如果我运行以下sqlcmd,我会得到一个错误 “.209”附近的语法不正确 命令: sqlcmd -E -S MyServer\SQLEXPRESS -d MyDatebase-Q "EXEC spRunThisPS @IP=$(IP)" /v IP="192.168.209.4" 如果我只使用“192.168”作为参数,脚本将运行(很明显,PS会失败,因为ip无效)。不确定“.”的数量是否导致它失败 有什么想法或建议吗 Nick您可能需要将参数值用引号括起来,方法是将I

新的使用SQLCMD

如果我运行以下sqlcmd,我会得到一个错误

“.209”附近的语法不正确

命令:

sqlcmd -E -S MyServer\SQLEXPRESS -d MyDatebase-Q "EXEC spRunThisPS @IP=$(IP)" /v IP="192.168.209.4"
如果我只使用“192.168”作为参数,脚本将运行(很明显,PS会失败,因为ip无效)。不确定“.”的数量是否导致它失败

有什么想法或建议吗


Nick

您可能需要将参数值用引号括起来,方法是将IP值指定为
IP=“'192.168.209.4”“
,或者在
EXEC
命令(
EXEC spRunThisPS@IP='$(IP)
中的参数值周围添加它们


否则,它会试图将其解释为数值而不是字符串,这就是为什么192.168可以,而192.168.209.4不能的原因。

就是这样。感谢您的帮助和快速响应