我需要一種方法來在我的ssis程序包結束時執行存儲過程。當程序包結束時,SSIS事件(或其他)
無論是失敗還是成功。
有沒有辦法做到這一點,而沒有連接我的每個任務失敗事件?我一直在尋找一個OnPackageEnd事件,但我看不到它。
你們有沒有任何想法?
我需要一種方法來在我的ssis程序包結束時執行存儲過程。當程序包結束時,SSIS事件(或其他)
無論是失敗還是成功。
有沒有辦法做到這一點,而沒有連接我的每個任務失敗事件?我一直在尋找一個OnPackageEnd事件,但我看不到它。
你們有沒有任何想法?
嗯,我認爲最簡單的事情就是將proc的執行添加爲作業執行包的第二步,您可以在那裏指定失敗和成功時的下一步。
或者你把exec SQl任務在流程結束時執行包(即獲取成功分支),並將其放入事件處理程序中以處理所有失敗(我們在pacakage級別執行事件處理程序而不是個別步驟),我們這樣做只需一個步驟,我們運行相同的ptoc但在輸入值不同或成功時輸入值不同。
在包中放置所有的任務在一個容器中。在容器下面放置執行程序任務,優先約束選擇值爲「完成」(該行將以藍色顯示,默認爲綠色)。因此,不管包的狀態如何(成功或失敗),存儲過程都將被執行。
您可以創建pacakge的事件處理程序onPostExecute並添加PROC在執行SQL任務中有
OR
添加一個序列容器內的所有電流分量和綠色箭頭拖到新的執行SQL任務組件與您的程序。 雙擊綠色箭頭並選擇「完成」而不是「成功」
OnPostExecute會爲每個任務執行。所以這對於期望OnPackageEnd類型事件的需求並不好。
需要注意的是,有些條件會導致程序包驗證失敗(實質上是編譯時錯誤)。無論您的軟件包中包含錯誤檢測邏輯,如果軟件包未能通過驗證,它將無法運行足夠長時間以碰到錯誤處理塊。然後*理論上*一張桌子在10天內沒有加載,然後你有憤怒的銷售人員和會計師,因爲他們無法生成工資單。在這樣的假設情況下,您需要備份錯誤通知機制,如SQL Agent的警報選項 – billinkc 2012-03-30 15:33:37