使用 .NET 模拟 DTSExec /REP EWCDI

本文关键字:REP EWCDI DTSExec NET 模拟 使用 | 更新日期: 2023-09-27 18:33:50

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

使用 .NET 模拟 DTSExec /REP EWCDI

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

DTEXEC (从概念上讲(只是启用执行 ssis 包的类的命令行界面,您在问题中已经链接到该包。

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

如果要控制输出哪些消息(如 DTEXEC 通过允许您使用/REP 选项指定级别来控制(,则还必须自己提供此选项。例如。通过在实际打印消息之前在 On* -方法中签入的派生事件类上具有相应的标志/属性。

最后,如果您希望具有与 DTEXEC 完全相同的消息格式(例如"开始错误"结束错误"块(,则还必须在派生事件类中模拟该格式。

如果真的不是那么难做到,如这个 MSDN 页面所示。

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

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

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