两个不同的任务如何在SSIS中转到一个任务

kai*_*uki 9 ssis path task execution

请参阅该图以了解该场景.

替代文字

现在我的包将在执行s后运行!任务,将遵循A或B路径.因此,如果遵循A,则执行任务S2和F2.但是如果遵循路径B,则执行任务F1和F3.但是在完成任务F3之后,流程应该通过路径E转到任务S2.但是这不会发生,并且当任务F3完成时,包结束成功.

关于如何移动到路径E并在任务F3完成后执行任务S2和F2,我需要帮助.

谢谢.

bob*_*obs 24

您的问题与优先约束(蓝线)中的设置有关.您需要解决多个约束设置,因为您有两个优先约束导致一个任务(S2).

您当前的配置显示在任务S2开始之前,路径A E都必须完成.由于这些路径中只有一个会完成,因此SSIS会停止.您需要进行更改,以便在路径A 路径E完成时,启动任务S2.

执行以下操作进行更改.右键单击路径A或路径E,然后选择"编辑".在Precedence Constraint Editor中,在Multiple constraints下,选择"Logical OR.一个约束必须求值为True".单击"确定"关闭对话框.路径A和E将更改为虚线,表示您刚刚定义的OR条件.

  • 这让我免于把头发扯下来。非常感谢,这个解决方案很有魅力 (2认同)

小智 0

我的猜测是 F3 是非阻塞变换。因此,您需要插入半阻塞或完全阻塞转换,以强制 SSIS 等待 F3 和 S1 执行 S2。

这里有一个很好的列表,并且更好地解释了变换如何相互阻塞。但我可能会使用Union All,其中 F3 和 S1 作为前身,S2 作为后继。