error-handling - SSIS 中的审计和错误处理

标签 error-handling ssis audit

我们正在启动一个处理大型平面文件的项目。这些文件有点“规范化”,我们希望首先将它们处理为中间文件。

我希望看到一个用于审计行的自定义表和一个用于处理过程中引发的错误的自定义表。错误也必须存储在事件日志中。

根据 SSIS(VS2008)的一般审计和错误处理,最佳实践是什么?

(编辑)
通过设计 1 个主包,我们已经(我认为)做出了非常优雅的解决方案。这个包运行一个子包(最初打算的那个)。主包订阅 3 个事件,如 OnInformation、OnWarning 和 OnError。这些事件被路由到通用审计和日志服务,该服务调用企业库日志和异常处理 block 。

最佳答案

我建议您对来自文件的稳定 etl 进程采用以下理念:

  • 永远不要在连接器中转换任何东西,只需将字段导入为它们将达到的最大长度的 nvarchars。
  • 以程序方式添加行数以在类型转换错误中进行错误跟踪。
  • 根据您的规范转换和控制每一列。
  • 如果在某个阶段无法读取一行,您将不知道索引,但您会知道该文件格式错误(在我的经验中,对于一半传输的文件来说非常罕见),无论如何都应该拒绝。

  • 文件加载过程的一部分的快速屏幕截图显示了拒绝(在分配 row_id 之后)如何工作(link to dataflow image)。为此,您可以进一步添加无数检查(重复...),甚至为加载的文件创建一个存储库,以检查拒绝以及您可能想要控制的任何其他内容(Link to control flow image)。

    在我的一些流程中,我什至使用平面文件连接器,只需将每一行作为批量文本导入,然后使用中间脚本组件将其拆分为列,从而允许文件中列的不同版本。

    无论如何,很抱歉没有更详细(由于我的状态,我无法添加更多链接或任何图像),但我希望你理解这个概念。

    问候,

    弗朗西斯科。

    关于error-handling - SSIS 中的审计和错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5565373/

    相关文章:

    ssis - 如何将 NULL 值更改为空字符串?

    SQL:如何最好地查询历史表以创建特定日期的快照概述

    java - Spring Boot 自定义错误 Controller 返回空 JSON 响应

    vba - 找不到VBA SAP偶然错误控件ID

    ssis - 使用 SSIS 数据配置文件 XML

    Azure 数据工厂管道启动 SSIS 集成运行时授权错误

    linux - 访问控制台内容

    java - EclipseLink JPA 跟踪更改

    java - 找不到类 'org.apache.http.entity.mime.content.Filebody',从方法中引用

    php - 如何在 MySQL 中重复插入行时抛出错误