SSIS - 尝试在postexecute中分配变量不起作用?

时间:2013-10-02 17:37:59

标签: ssis

我正在构建一个SSIS包,其中包含一些包含脚本组件的数据流任务。在其中一个脚本组件中,我正在尝试为post execute子句中的读/写变量赋值,如下所示:

Public Overrides Sub PostExecute()
    Me.ReadWriteVariables("User::pEndDate").Value() = proEndDate
    MyBase.PostExecute()
End Sub

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
    ...

    Try
        ...
        proEndDate = Row.EndDate
        MessageBox.Show("Assigning the project end date from the row: " & proEndDate.ToString)

proEndDate每个消息框都有正确的值,但该变量永远不会更新。有谁知道为什么?

1 个答案:

答案 0 :(得分:1)

"变量永远不会被更新"。我认为这意味着当你在程序包运行时查看Variable窗口时,该值永远不会改变它的原始值。

这是正确的,值永远不会改变,但您的代码也是正确的。

“变量”窗口显示所有变量的设计时值。可以通过“调试”窗口访问运行时值。在“本地”窗口中,您将看到当前值。我在这里写了一个更详细的答案

Why doesn't the Script Task code assign any value to ReadWriteVariables?