dtexec /SET 包变量值未被包使用

dtexec /SET package variable value not being used by package

我正在使用 SQL Server 2012 和 MS Visual Studio 2010

我有一个带有用户变量 PO(字符串)的 DTS 包,我正尝试使用该变量执行 sql 命令,所以我设置了另一个变量构建 sql 字符串。

问题是,当我尝试使用带有 /SETDTEXEC 实用程序 运行 包时,包忽略了我发送的变量值。

我正在使用的命令:

dtexec /server myserver /sql MyPackageName /U user /P password /SET "\Package.Variables[User::PO].Properties[Value]";"AE-J067329-01"

SQLStringVar的表达式是"exec my_procedure '" + @[User::PO] + "'"

但是,结果显示 SQLStringVar 评估为 "exec my_procedure ''" ,或者我为 User::PO 变量的初始值设置的任何值。包 运行s 没有错误。

我想通了: 在 Package Explorer 选项卡中...变量。

右键单击该变量,转到属性,然后将 EvaluateAsExpression 更改为 False。

(这让我抓狂,因为在使用“变量”选项卡编辑变量时,此 属性 不可用)