SSIS多播 - 在执行下一个fork之前等待一个fork完成

时间:2009-02-06 21:06:15

标签: sql-server ssis

我有一个SSIS Mulitcast对象,将我的流分成两条路径。

在第一个路径中,我将流插入另一个数据库。

在第二个路径中,我更新了流的行以显示它们已被插入。

我需要一种方法让一条路径等到另一条路径完成。 (因此,我可以处理任何插入错误,而不是为那些错误更新行。)

感谢任何帮助。

5 个答案:

答案 0 :(得分:3)

我对此进行了更多研究,这是我想出的答案:

在组播的每个输出上,我进行了排序操作,然后使用MergeJoin操作将它们连接起来。之后,我使用OLE DB命令对没有来自mergejoin的错误值的项执行SQL更新。

答案 1 :(得分:2)

你不能在SSIS中这样做。您只能在控制流级别强制执行优先级约束(即强制执行运行顺序)。

答案 2 :(得分:2)

如果您大致知道一个fork完成所需的时间,您可以在第二个fork上使用OLE DB命令。输入"等待延迟' 00:15'"使服务器在进入下一步之前等待15秒。

Waitfor

答案 3 :(得分:1)

在这种情况下,我不会使用多播,而是使用常规数据流,以便在第一个成功完成之前不启动

答案 4 :(得分:0)

最好的选择是实际使用脚本组件。在这里,您可以管理插入和使用try catch块顺序更新。