如何获取触发OnTaskFailed事件的数据流任务组件的名称?

时间:2013-01-31 16:48:53

标签: logging event-handling ssis error-logging dataflowtask

我有一个项目在我们的SSIS包中实现自定义日志记录。我有一个数据流任务,将数据从一个数据库中的几个表移动到另一个数据库中的相应表。如果表A从数据库A移动到数据库B失败,那么在OnTaskFailed事件中,我想将数据流组件的名称记录到文本文件中,因为该名称包含失败的表的名称。我尝试过使用System::SourceNameSystem::TaskName,但它们只是给我控制流任务(SourceName)的名称以及事件处理程序(TaskName)中脚本任务本身的名称。

有没有办法获取数据流组件名称?

2 个答案:

答案 0 :(得分:0)

执行此操作的唯一方法是将DFT GUID绑定到数据库/记录集中的名称,然后在任务失败/成功后执行查找。这不是优雅的,但却是唯一的方法。请注意,如果您的对象在包上发生更改,则必须在数据库端重新创建关联。

答案 1 :(得分:0)

看来您有一个DFT,其中有多个来源和相应的目的地。

如何将每个表放在自己的DFT中,甚至更好地放在自己的Child包中? 然后,您可以为每个任务创建一个on error事件处理程序,甚至可以更好地使用常见的错误处理程序子包。