2012-01-19 43 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

听起来像一个计划! –