0

为了澄清我的问题的含义并提供一些背景信息,我和我的同事正在开发一个 msi 包(使用 WiX 3.5 开发),它可以使用我们的软件自动安装和配置终端。然而,我们技术说明中的一点表明,当时需要根据用户要求打开和更改一个 sql 文件,因此我们无法硬编码。

获取我们需要的变量是没有问题的,setup 可以导出一个 settings.ini 文件或任何保存我们需要的值的文件,问题是自动将这些值直接移动到一个 sql 文件中,尽可能少的用户交互。我们客户公司的员工不是软件人,所以我们需要想办法。

“SET”部分是安装时需要更新的字段:

DECLARE @Galaxy varchar(32)
SET @Galaxy = 'foo'
DECLARE @IPAddress varchar(15)
SET @IPAddress = 'foo'
DECLARE @Project varchar(32)
SET @Project = 'foo'

任何见解都会非常有帮助,SQL 不是我通常的工作领域。

4

1 回答 1

1

根据您的要求,我得出结论,需要在每个终端上安装 SQL Server 客户端。因此 sqlcmd 可用,您可以使用该:setvar机制在执行脚本之前设置值。

请参阅此示例,其中 :setvar 直接在 .sql 脚本中使用。使用 评估变量$(variablename)。这些变量也可以在命令行上设置(变量优先级部分),因此无需修改 .sql 文件。

于 2012-08-24T10:02:20.420 回答