SQLCMD '.' 附近的语法不正确
使用具有以下参数的 SQLCMD 执行存储过程时:
. sqlcmd -S $sql_server -U $sql_usr -P $sql_pwd -d $sql_db -Q "EXEC $storedProc $dateVariable, $regionType, ALM.10.2.33.1" -V 1 -b
收到以下消息:
“.”附近的语法不正确。
如果我传递 ALM_10_2_33_1 而不是 ALM.10.2.33.1,存储过程将完美执行。
谢谢,
When executing a stored procedure using SQLCMD with the following parameters:
. sqlcmd -S $sql_server -U $sql_usr -P $sql_pwd -d $sql_db -Q "EXEC $storedProc $dateVariable, $regionType, ALM.10.2.33.1" -V 1 -b
The following message is received:
Incorrect syntax near '.'.
If I pass ALM_10_2_33_1 instead of ALM.10.2.33.1, the stored procedure is executed perfectly.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用单引号正确分隔参数
SQL Server 有一个怪癖,如果 (var)char 参数不包含某些字符(例如
.
),则允许在不使用分隔符的情况下指定这些参数。您可以在 MSDN 中看到它
,但是如果您检查 sp_addserver,
@local
是varchar(10)
和'LOCAL'
被提及为所需的值。Delimit the parameter correctly with single quotes
SQL Server has quirk that allows (var)char parameters to be specified without delimiters if they don't contain certain characters like
.
.You can see it in MSDN
But if you check sp_addserver,
@local
isvarchar(10)
, and'LOCAL'
is mentioned as the value required.尝试将 ALM.10.2.33.1 括在方括号中:
Try wrapping ALM.10.2.33.1 in square brackets: