我正在使用SSIS 2008.我有一个变量,它从配置文件中获取其值。我想将其值分配给另一个变量。为此,我创建了另一个变量,并将其EvaluateAsExpression属性设置为TRUE,并将变量(从配置文件中取值)写为其表达式。但是在运行时,分配没有发生。即使没有错误。
修改 我进行变量赋值的原因是,如果最终用户没有给配置文件中的变量赋值,我想为这些变量分配一些默认值,然后将变量作为表达式分配给其他变量。这一切都是我在脚本任务中尝试做的。不知道这是否是做这类事情的唯一方法。
答案 0 :(得分:1)
我能够毫无问题地使用它;我无法复制你的场景。这是我做的:
在“变量”窗口(视图>其他Windows>变量)中,我将我的Var2的表达式设置为等于
@ [用户:: VAR1]
上述步骤正确地为Var2提供了从外部配置文件设置的Var1的值。为了测试这是否有效,我添加了一个脚本任务和
在我的脚本正文中,我添加了以下代码,以便在运行时查看Var2的值:
public void Main() { MessageBox.Show(Dts.Variables [0] .Value.ToString()); }
在运行时,弹出的消息框显示正确的值。
但我确实注意到Var2窗口中Var2的Value属性并不总是显示正确的值 - 有时它显示设置为默认值Var1的任何值。即使在“变量”窗口中存在这种差异,在我的实际包代码中使用Var2时,它总是设置为正确的值。