How two different task can goto one task in SSIS

匿名 (未验证) 提交于 2019-12-03 08:41:19

问题:

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.

回答1:

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.



回答2:

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.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!