2012-01-19 74 views
3

我需要能夠從.NET程序執行SSIS包並知道它何時完成。我的包裝大部分工作都可以在2分鐘到9小時之間完成。爲什麼我需要知道我什麼時候完成工作是因爲我一次只能做1份工作。由於調度在這裏很重要,是否有一個OnSuccess或OnFailure事件,整理包可以提高?從C#執行SSIS包並知道它何時完成?

注:我已經有一些小的事件處理上的事件,如的OnError,但PackageEventListener類我寫的DefaultEvents繼承和DefaultEvents沒有定義OnSucess或onFailure處的事件。

回答

1

一種方法是使用System.Diagnostics.Process類從批處理文件中執行SSIS包。

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

的的System.Diagnostics.Process類有一個叫做WaitForExit()方法將等待其啓動過程繼續之前退出,然後將返回它的返回碼。

這裏是返回代碼列表以尋找從一個SSIS包:http://msdn.microsoft.com/en-us/library/ms162810.aspx

+1

這似乎是一個可行的選擇。我不得不考慮一下。如果其他人發佈替代解決方案,我會保持這種態度,在這種情況下,可能沒有任何解決方案,我會授予您「綠色支票審批和正義榮譽」。 –

+0

聽起來像一個計劃! –