2009-10-21 73 views
2

我有一個SSIS包有兩個步驟:SSIS包的OnError記錄

1)FTP到服務器和文件下載到本地SQL Server 2)執行一個SQL Satatement,觸發一個Storeed過程。

這兩個步驟都能正常工作,但是,我想記錄這些步驟的成功或失敗,因此在系統中這是爲每個SSIS包的狀態(成功或失敗)添加一個網格那天運行。

爲此,我爲FTP步驟設置了一個事件處理程序,並向處理程序添加了「執行SQL任務」。這使用屬性表達式中的「SqlStatementSource」屬性,以及插入system :: ErrorCode,System :: ErrorDescription等system ::變量的插入語句。

當我用「Evaluate Expression」按鈕測試表達式時,一切都很好。但是,當我嘗試通過在FTP連接中使用錯誤密碼來測試事件時,FTP步驟失敗,但即使將事件處理程序類型設置爲OnError,也不會引發事件處理程序。

任何想法?

在此先感謝!

+0

我們在這裏談論的是SQL Server的哪個版本和SP級別? – 2009-10-21 20:14:29

回答

3

你做了什麼似乎很好,應該沒有任何問題。

請確保您在包級別即最高級別添加錯誤處理程序。

我今天所做的一樣,在我的情況,我在我的數據導出到本地驅動器 上的平面文件並使用一個變量文件路徑。 我也使用了OnError事件處理程序。 爲了檢查它的工作是否正常,我將FilePath變量改爲「Z:\」(這在我的系統中不存在)。

,我像

-1073450982組件「平面文件目標」(63)的OnError事件處理程序得到了錯誤失敗的預執行階段,並返回錯誤代碼0xC020200E。
-1071636466無法打開數據文件「Z:\ COM_10212009.txt」。

希望這會有所幫助。