从C#执行SSIS包并知道它何时完成?

时间:2012-01-19 19:42:23

标签: c# ssis

我需要能够从.NET程序执行SSIS包并知道它何时完成。我的包裹开启的大部分工作可能需要2分钟到9个小时。为什么我需要知道我的工作何时完成是因为我一次只能运行一份工作。由于调度在这里很重要,是否存在整理包可以引发的OnSuccess或OnFailure事件?

注意:我已经对诸如OnError之类的事件进行了一些小事件处理,但我编写的PackageEventListener类继承自DefaultEvents,而DefaultEvents没有定义OnSucess或OnFailure事件。

1 个答案:

答案 0 :(得分: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