PostExecute未在SSIS脚本组件

时间:2015-11-10 04:55:51

标签: sql ssis script-component

我在SQL2012中有一个源脚本组件。 我相信如果你想在Scriptcomponent中设置一个读/写变量,它必须在Postexecute方法中设置。而且我这样做了;

    public override void PostExecute()
{
    base.PostExecute();
    Variables.value1 = "some value";
}

我在脚本组件运​​行后测试了该变量,发现它没有被设置。我在PostExecute方法中设置了一个断点,并确认它永远不会被调用。

我甚至写了一个非常简单的新包,并用相同的结果再次测试它。谁能告诉我为什么PostExecute不会开火。

我不知道在这里设置变量有任何限制(无论是否有要处理的记录)。

3 个答案:

答案 0 :(得分:0)

该变量可以在脚本组件中设置,但只能在数据流任务完成后使用它(在下一个任务中)。

答案 1 :(得分:0)

经过一些测试后,当您使用脚本组件作为" Source" PostExecture事件永远不会发生。工作得很好"转型"。没有测试"目的地"类型。 Microsoft文档中没有任何内容提到这一事实,因此它具有误导性。

我最终使用rowcount控件来计算记录。如果我需要更多关于PostExecture事件的话,我不确定我会做什么。

答案 2 :(得分:0)

我已经多次使用脚本组件作为源,而PostExecute确实会触发。