0

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

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

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

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

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

4

3 回答 3

0

经过一些测试后,似乎当您使用脚本组件作为“源”时,PostExecture 事件永远不会触发。工作正常的“转换”。没有测试“目的地”类型。Microsoft 文档中没有任何内容提及这一事实,因此具有误导性。

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

于 2015-11-17T05:12:20.287 回答
0

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

于 2019-12-03T19:02:44.567 回答
0

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

于 2015-11-10T07:19:24.637 回答