我在SQL2012中有一个源脚本组件。 我相信如果你想在Scriptcomponent中设置一个读/写变量,它必须在Postexecute方法中设置。而且我这样做了;
public override void PostExecute()
{
base.PostExecute();
Variables.value1 = "some value";
}
我在脚本组件运行后测试了该变量,发现它没有被设置。我在PostExecute方法中设置了一个断点,并确认它永远不会被调用。
我甚至写了一个非常简单的新包,并用相同的结果再次测试它。谁能告诉我为什么PostExecute不会开火。
我不知道在这里设置变量有任何限制(无论是否有要处理的记录)。
答案 0 :(得分:0)
该变量可以在脚本组件中设置,但只能在数据流任务完成后使用它(在下一个任务中)。
答案 1 :(得分:0)
经过一些测试后,当您使用脚本组件作为" Source" PostExecture事件永远不会发生。工作得很好"转型"。没有测试"目的地"类型。 Microsoft文档中没有任何内容提到这一事实,因此它具有误导性。
我最终使用rowcount控件来计算记录。如果我需要更多关于PostExecture事件的话,我不确定我会做什么。
答案 2 :(得分:0)
我已经多次使用脚本组件作为源,而PostExecute确实会触发。