我正在构建一个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每个消息框都有正确的值,但该变量永远不会更新。有谁知道为什么?
答案 0 :(得分:1)
"变量永远不会被更新"。我认为这意味着当你在程序包运行时查看Variable窗口时,该值永远不会改变它的原始值。
这是正确的,值永远不会改变,但您的代码也是正确的。
“变量”窗口显示所有变量的设计时值。可以通过“调试”窗口访问运行时值。在“本地”窗口中,您将看到当前值。我在这里写了一个更详细的答案
Why doesn't the Script Task code assign any value to ReadWriteVariables?