包没有使用dtexec / SET包变量值

时间:2016-11-02 19:56:42

标签: sql-server ssis package dtexec

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

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

问题是,当我尝试使用带有DTEXEC的{​​{1}}实用程序运行包时,包会忽略我正在发送的变量值。

我正在使用的命令:

/SET

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 ''"变量的初始值设置的值。包运行没有错误。

1 个答案:

答案 0 :(得分:0)

我明白了: 在Package Explorer选项卡中......变量。

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

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