【问题标题】:Rethrow an error from within SSIS package从 SSIS 包中重新引发错误
【发布时间】:2014-02-04 01:27:42
【问题描述】:

我有一个 2010 SSIS 包,它又运行其他包。每个包都是独立的,所以如果一个包失败,其他包仍然可以进步。我的逻辑表明下一次运行是在前一次完成后运行,无论它是否失败

我的问题是,当一个人出错时,我会收到一条非常标准的错误消息,它不会告诉我哪个崩溃或给我任何其他线索。

集成服务仪表板确实有帮助,但仍缺乏基本信息。但我想要的是包重新抛出错误,这样我就可以向它添加更多 ifnormation。

这是怎么做到的?

我是否在 Onerror 事件中为单个包创建脚本任务,并在重新抛出错误之前添加一些我自己的信息?

有什么例子可以告诉你需要做什么?我仍然希望其他数据包继续执行。

【问题讨论】:

    标签: error-handling ssis rethrow


    【解决方案1】:

    首先,没有 2010 版的 SSIS。您正在针对 2008 R2 或 2012 使用 Visual Studio 2010,但这不会以任何方式影响问题。

    捕获此错误信息的最佳方法是将错误信息记录在子包中。这可以使用诸如

    之类的 SSIS 框架来实现

    免费 - http://ssisetlframework.codeplex.com/

    商业产品-http://pragmaticworks.com/Products/BI-xPress

    使用这些框架,您可以轻松获得所需的详细错误信息,而无需修改控制包。

    【讨论】:

    • 感谢您的回复。微软去年年底发布了集成服务项目的 VS2012 模板。项目在 vs2010 中启动,带有 sql2012 后端。我无法重写应用程序以包含 BI Monkey SSIS ETL 框架。我也不能购买第 3 方产品。我们有严格的开发环境和架构政策,所有开发人员都必须遵守。我有我所拥有的。只是想挂钩到 SQL 代理的默认错误对象并添加当前包的名称和正在处理的文件。
    猜你喜欢
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多