2012-04-27 98 views
3

我有一個SSIS包。我爲這些任務設置了多個處理程序以執行不同的行爲。 我的問題是:特別是一項任務,如果失敗了,我希望它跳過其他一些任務並跳到前面。 所以,我想爲該特定任務設置OnError,以便跳轉到其他任務。 如何在處理程序中說SSIS來完成特定的任務?如何根據任務狀態更改控制任務流?

我想跳到控制流中的另一個任務。

+0

全包 – 2012-04-27 14:01:35

回答

2

你不能說SSIS,你必須用優先約束來實現它。 示例:假設您有任務A - > B - > C - > D並且您不希望C在B失敗時執行,您可以這樣做:

請注意虛線,您需要設置如果B兩者成功,則優先於或以其它方式將d僅執行和失敗,這是不可能的上SSIS包

enter image description here

+0

優秀!正是我想要的。 – 2012-04-27 14:36:51

1

控制流任務執行基於上在包中描述的流動。假設您有兩項任務,分別是Script TaskData flow task。這裏的任務都是相互連接的。腳本任務有目的地編碼失敗。當它發生時,程序包將在該點停止執行,因爲它的結構只能在成功執行腳本任務時執行數據流任務。

failure

您可以右鍵點擊腳本任務和數據流任務之間的連接器/優先約束並改變它從SuccessCompletion。這意味着它會指示程序包完成腳本任務時執行Data Flow Task,而不管它是失敗還是成功。現在

right-click on constraint

,如果你運行該程序包,它將執行數據流任務即使腳本任務失敗。

completion

你也可以有多個流程是這樣的。您只需右鍵單擊任務之間的連接器/優先級約束,然後選擇正確的狀態以決定程序包應執行的路徑。

multiple flows

希望有所幫助。

+0

它幫了很多!非常感謝你的真棒答案。 – 2012-04-27 14:36:36