SQLCMD无法执行带参数的存储过程

时间:2018-07-25 15:36:36

标签: 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而失败)。不确定金额是否为“。”。导致失败或失败。

有什么想法或建议吗?

尼克

1 个答案:

答案 0 :(得分:1)

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

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