SQL Server SqlPackage 变量:字符串变量周围是否需要引号?

问题描述

当运行 sqlpackage.exe 进行部署时,字符串变量是否需要在单词周围加上引号?它似乎以两种方式成功运行。正确的语法是什么?

此处显示两个选项:

/v:CompanyName=ABCD

/v:CompanyName="ABCD"

资源:https://docs.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage?view=sql-server-ver15

解决方法

@Jeroen Mostert 是对的。不仅仅是SqlPackage,它更多地与命令行相关。

如果字符串变量包含空格、等号、斜杠或任何其他会干扰选项语法的东西,则该值必须用“引号”括起来。

这是示例博客:https://www.addictivetips.com/windows-tips/enter-file-or-folder-paths-with-spaces-in-command-prompt-on-windows-10/

如果满足以下所有条件,则保留命令行上的引号字符:

  • 没有 /S 开关(带引号)
  • 正好两个引号字符
  • 两个引号字符之间没有特殊字符,其中特殊字符是以下之一:& ( ) @ ^ |
  • 两个引号之间有一个或多个空白字符
  • 两个引号字符之间的字符串是可执行文件的名称。

参考:https://ss64.com/nt/syntax-cmd.html

HTH。