SSIS 中两个不同的任务如何转到一个任务
请查看该图以了解该场景。
现在,我的包将在执行 s 后运行!任务时,将遵循 A 或 B 路径。因此,如果遵循 A,则执行任务 S2 和 F2。但如果遵循路径 B,则执行任务 F1 和 F3。而且在完成任务 F3 后,流程应该通过路径 E 转到任务 S2。但这并没有发生,随着任务 F3 完成,包成功结束。
我需要有关如何在任务 F3 完成后移动到路径 E 并执行任务 S2 和 F2 的帮助。
谢谢。
please see the figure to get idea of the scenario.
Now when my Package will run after executing the s! task, either A or B path will be followed. So If A is followed then Task S2 and F2 is executed. But if path B is followed, task F1 and F3 is executed. But also after completing task F3, the flow should go to task S2 via path E. But this doesn't happen and as the task F3 is completed, the package ends with success.
I need help on this on how to move to path E and execute task S2 and F2 after task F3 completion.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的问题与优先约束(蓝线)中的设置有关。您需要解决多重约束设置,因为您有两个优先约束导致一项任务 (S2)。
您当前的配置显示,在任务 S2 开始之前,路径 A 和 E 都必须完成。由于这些路径中只有一个会完成,因此 SSIS 会停止。您需要进行更改,以便当路径 A 或路径 E 完成时启动任务 S2。
请执行以下操作来进行更改。右键单击路径 A 或路径 E,然后选择编辑。在优先约束编辑器中的多个约束下,选择“逻辑或。一个约束的计算结果必须为 True”。单击“确定”关闭对话框。路径 A 和 E 将变为虚线,表示您刚刚定义的 OR 条件。
Your problem is related to settings in your Precedence Constraints (the blue lines). You need to address Multiple Constraint settings because you have two Precedence Constraints leading to one task (S2).
Your current configuration shows that both paths A and E must complete before Task S2 will start. Since only one of these paths will complete, SSIS stops. You need to make changes so that when either path A or path E completes, start task S2.
Do the following to make the change. Right-click on either path A or path E and select Edit. In the Precedence Constraint Editor, under Multiple constraints, select "Logical OR. One constraint must evaluate to True". Click OK to close the dialog. Paths A and E will change to dotted lines, which represents the OR condition you just defined.
我的猜测是 F3 是非阻塞变换。因此,您需要插入半阻塞或完全阻塞转换,以强制 SSIS 等待 F3 和 S1 执行 S2。
有一个很好的列表 这里以及对变换如何相互阻塞的更好解释。但我可能会使用 Union All,其中 F3 和 S1 作为前任,S2 作为后继。
My guess is that F3 is a non-blocking transform. So you need to insert either a Semi or Fully Blocking transform to force SSIS to wait until F3 and S1 to execute S2.
There is a good list here and a better explanation of how transforms block one another. But I'd probably use a Union All with both F3 and S1 as predecessors and S2 as the successor.