处理SSIS验证失败

时间:2014-01-22 13:18:13

标签: ssis

我正在尝试实现SSIS包失败处理程序。我在整个软件包上添加了onError事件处理程序,并且在控制流程中出现错误的任务失败了。

该软件包的主要任务是从db中获取一些数据, 错误处理程序是发送邮件任务发送带有错误说明的电子邮件。

现在,我正在尝试模拟一个常见错误:我在SQL查询中进行了一些更改(例如,为其中一个列设置了错误的名称)并尝试运行该包。

我看到的是,包在验证阶段失败,甚至没有继续执行,说

Error:  SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occured. Error Code 0x80040E14. An OLE DB record is available. Source "Microsoft SQL Server Native Client 11.0"     
Hresult 0x80040E14 Description "Statement(s) could not be prepared"
Description "The multipart identifier "MyTable.SomeWrongField" could not be bound". 
Error: "OLE DB Source" failed validation and returned validation status "VS_BROKEN".

它甚至没有执行,在验证后立即失败。 如何设置错误句柄,以便它处理每个错误,甚至像这样的问题(不正确的SQL请求)?

感谢。

1 个答案:

答案 0 :(得分:1)

验证错误是SSIS等效的语法错误。由于执行死在水中,因此没有恢复的机会。 OnTaskFailed和OnError不会捕获这种类型的错误(这是我们不再在我们的包本身内实现错误通知的原因之一)