【发布时间】:2014-01-22 23:17:47
【问题描述】:
我正在尝试实现 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 请求)?
谢谢。
【问题讨论】:
-
您始终可以使用发送邮件任务创建另一个事件处理程序 OnTaskFailed 或 OnPreValidate。
-
OnTaskFailed 也不起作用。
标签: ssis