SQLCMD Неверный синтаксис рядом с '.' - PullRequest
1 голос
/ 11 октября 2011

При выполнении хранимой процедуры с использованием 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 ]

3 голосов
/ 11 октября 2011

Разделите параметр правильно одинарными кавычками

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

В SQL Server есть особенность, позволяющая указывать (var) параметры char без разделителей, если они не содержат определенные символы, такие как ..

Вы можете увидеть это в MSDN

EXEC sp_addserver <'new_name\instancename'>, local

Но если вы проверите sp_addserver , @local равен varchar(10), а 'LOCAL' упоминается в качестве требуемого значения.

0 голосов
/ 11 октября 2011

Попробуйте заключить ALM.10.2.33.1 в квадратные скобки:

[ALM.10.2.33.1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...