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

发布于 2024-12-09 18:26:00 字数 296 浏览 0 评论 0原文

使用具有以下参数的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尤怨 2024-12-16 18:26:00

使用单引号正确分隔参数

"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' 被提及为所需的值。

Delimit the parameter correctly with single quotes

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

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

EXEC sp_addserver <'new_name\instancename'>, local

But if you check sp_addserver, @local is varchar(10), and 'LOCAL' is mentioned as the value required.

溺孤伤于心 2024-12-16 18:26:00

尝试将 ALM.10.2.33.1 括在方括号中:

[ALM.10.2.33.1]

Try wrapping ALM.10.2.33.1 in square brackets:

[ALM.10.2.33.1]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文