我有一個SSIS包。我爲這些任務設置了多個處理程序以執行不同的行爲。 我的問題是:特別是一項任務,如果失敗了,我希望它跳過其他一些任務並跳到前面。 所以,我想爲該特定任務設置OnError,以便跳轉到其他任務。 如何在處理程序中說SSIS來完成特定的任務?如何根據任務狀態更改控制任務流?
我想跳到控制流中的另一個任務。
我有一個SSIS包。我爲這些任務設置了多個處理程序以執行不同的行爲。 我的問題是:特別是一項任務,如果失敗了,我希望它跳過其他一些任務並跳到前面。 所以,我想爲該特定任務設置OnError,以便跳轉到其他任務。 如何在處理程序中說SSIS來完成特定的任務?如何根據任務狀態更改控制任務流?
我想跳到控制流中的另一個任務。
你不能說SSIS,你必須用優先約束來實現它。 示例:假設您有任務A - > B - > C - > D並且您不希望C在B失敗時執行,您可以這樣做:
請注意虛線,您需要設置如果B兩者成功,則優先於或以其它方式將d僅執行和失敗,這是不可能的上SSIS包
優秀!正是我想要的。 – 2012-04-27 14:36:51
控制流任務執行基於上在包中描述的流動。假設您有兩項任務,分別是Script Task
和Data flow task
。這裏的任務都是相互連接的。腳本任務有目的地編碼失敗。當它發生時,程序包將在該點停止執行,因爲它的結構只能在成功執行腳本任務時執行數據流任務。
您可以右鍵點擊腳本任務和數據流任務之間的連接器/優先約束並改變它從Success
到Completion
。這意味着它會指示程序包完成腳本任務時執行Data Flow Task
,而不管它是失敗還是成功。現在
,如果你運行該程序包,它將執行數據流任務即使腳本任務失敗。
你也可以有多個流程是這樣的。您只需右鍵單擊任務之間的連接器/優先級約束,然後選擇正確的狀態以決定程序包應執行的路徑。
希望有所幫助。
它幫了很多!非常感謝你的真棒答案。 – 2012-04-27 14:36:36
全包 – 2012-04-27 14:01:35