SSIS OnError事件处理程序未在失败的数据库连接上触发

时间:2016-07-21 09:59:02

标签: sql-server ssis

我创建了一个带有OnError事件处理程序的SSIS包,该处理程序在数据库中插入了一些日志记录。

当我通过批处理文件运行包时,我在批处理文件日志中看到包无法执行,因为与数据库的连接(与我插入错误日志的数据库不同)失败了。但是,没有插入日志记录(意味着OnError事件处理程序没有触发?)

当连接到数据库失败时,OnError事件处理程序是否未触发?

2 个答案:

答案 0 :(得分:3)

找到它。整个软件包的 DelayValidation 属性必须设置为 True ,以便在运行之前不会执行连接管理器的验证(以及我认为的其他事情)时间

不会触发OnError事件处理程序,因为它仅适用于运行时。但是,预验证在运行时发生,并且当预验证发现其中一个与DB的连接不起作用时,程序包将失败

答案 1 :(得分:0)

  1. 您确定与错误记录数据库的连接是否有效。您可以尝试在别处写作以证明它没问题 - 文本文件?
  2. 如果未到达OnError事件,请向OnTaskFailed事件添加一些代码。
  3. FailPackageOnFailure设置为True
  4. 虽然您可能不想永远保留第2步和第3步,但它们可以让您了解当前问题的最后部分。