1

使用库microsoft.sqlserver.dts.runtime.package是否可以将 DTEXEC (/REP EWCDI) 使用的等效选项从 .NET 推送到 SSIS 包?? (/REP EWCDI 是 DTEXEC 的一个报告功能

4

2 回答 2

1

/REP 命令行选项是 DTEXEC.EXE 的一项功能。

DTEXEC(在概念上)只是一个命令行接口,用于启用执行 ssis 包的类,您已经在问题中链接到该包。

当您使用这些类自己启动包时,您也需要自己提供报告功能。这是通过创建派生类DefaultEvents类来完成的。在那里,您覆盖所有 OnError、OnInformation 等方法,将输出重定向到您想要的位置(Console.Error 用于错误和警告;Console.Out 用于其他消息)。

如果您想控制输出哪些消息,就像 DTEXEC 通过让您使用 /REP 选项指定级别来实现的那样,您也必须自己提供。例如。通过在派生事件类上具有相应的标志/属性,您可以在实际打印消息之前检查 On* 方法。

最后,如果您想拥有与 DTEXEC 完全相同的消息格式(例如“开始错误”“结束错误”块),您还必须在派生事件类中模拟它。

如果真的没有这个MSDN 页面显示的那么难。

于 2012-05-11T17:53:58.157 回答
0

在此处查看“从正在运行的包中捕获事件”下的示例:

http://msdn.microsoft.com/en-us/library/ms136090.aspx

此示例也可以扩展为包括其他事件(OnInformation、OnWarning...)。

于 2012-05-11T15:34:43.307 回答