【问题标题】:SSIS 2005 - Ignore row insert failuresSSIS 2005 - 忽略行插入失败
【发布时间】:2010-09-23 02:36:58
【问题描述】:

我想忽略提交批处理时可能出现的错误。就我而言,独特的列。

OLE DB 目标错误输出设置为“忽略失败”,但仍然失败。数据流“失败时停止属性”设置为 false,MaximumErrorCount 设置为 0。

我不想进行行重定向以保持快速加载模式。

谢谢

【问题讨论】:

    标签: sql-server-2005 ssis


    【解决方案1】:

    几个cmets:

    1. 您不能使用忽略错误,因为忽略行错误仍会将记录传递到目标。您必须使用重定向来消除不良行。
    2. 如果您不想保留坏行的副本,则可以将它们发送到行计数转换,因为这对性能的影响最小。或者,您可以将错误的行输出到平面文件或另一个表,以便在将来查看错误。
    3. 快速加载选项是目标而不是源的属性。即使您将错误行从源重定向到其他地方,您也可以使用快速加载。我刚刚使用快速加载 ORDER 选项对一百万行数据集进行了性能测试,当我添加错误重定向并将 500K 行重定向到行计数转换时,性能基本相同。我还验证了当我删除快速加载选项时性能会变慢,所以我确定这影响为 0。

    【讨论】:

      【解决方案2】:

      我最终将错误流重定向到一个测试节点(以测试错误代码并检查它是否是行插入错误),该节点将这些行重定向到一个“OLE DB 查询”节点,在该节点中我对SELECT 1 什么都不做,简单地忽略它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 2021-01-10
        相关资源
        最近更新 更多