2012-03-29 39 views
1

我需要一種方法來在我的ssis程序包結束時執行存儲過程。當程序包結束時,SSIS事件(或其他)

無論是失敗還是成功。

有沒有辦法做到這一點,而沒有連接我的每個任務失敗事件?我一直在尋找一個OnPackageEnd事件,但我看不到它。

你們有沒有任何想法?

+1

需要注意的是,有些條件會導致程序包驗證失敗(實質上是編譯時錯誤)。無論您的軟件包中包含錯誤檢測邏輯,如果軟件包未能通過驗證,它將無法運行足夠長時間以碰到錯誤處理塊。然後*理論上*一張桌子在10天內沒有加載,然後你有憤怒的銷售人員和會計師,因爲他們無法生成工資單。在這樣的假設情況下,您需要備份錯誤通知機制,如SQL Agent的警報選項 – billinkc 2012-03-30 15:33:37

回答

2

嗯,我認爲最簡單的事情就是將proc的執行添加爲作業執行包的第二步,您可以在那裏指定失敗和成功時的下一步。

或者你把exec SQl任務在流程結束時執行包(即獲取成功分支),並將其放入事件處理程序中以處理所有失敗(我們在pacakage級別執行事件處理程序而不是個別步驟),我們這樣做只需一個步驟,我們運行相同的ptoc但在輸入值不同或成功時輸入值不同。

3

在包中放置所有的任務在一個容器中。在容器下面放置執行程序任務,優先約束選擇值爲「完成」(該行將以藍色顯示,默認爲綠色)。因此,不管包的狀態如何(成功或失敗),存儲過程都將被執行。

0

您可以創建pacakge的事件處理程序onPostExecute並添加PROC在執行SQL任務中有

OR

添加一個序列容器內的所有電流分量和綠色箭頭拖到新的執行SQL任務組件與您的程序。 雙擊綠色箭頭並選擇「完成」而不是「成功」

0

OnPostExecute會爲每個任務執行。所以這對於期望OnPackageEnd類型事件的需求並不好。

相關問題