SQLCMD'。'附近的语法不正确

时间:2011-10-11 11:50:51

标签: sql syntax 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,则存储过程将完美执行。

谢谢,

2 个答案:

答案 0 :(得分:3)

使用单引号正确分隔参数

"EXEC $storedProc $dateVariable, $regionType, 'ALM.10.2.33.1'"

如果SQL Server没有包含某些字符(如.),那么它允许指定(var)char参数而不使用分隔符。

您可以在MSDN

中看到它
EXEC sp_addserver <'new_name\instancename'>, local

但是,如果您选中sp_addserver@localvarchar(10),则会提及'LOCAL'作为所需值。

答案 1 :(得分:0)

尝试在方括号中包装ALM.10.2.33.1:

[ALM.10.2.33.1]