SSIS 2005 - 忽略行插入失败

时间:2010-09-23 02:36:59

标签: sql-server-2005 ssis

我想忽略批量提交时可能出现的错误。在我的例子中,唯一的列。

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

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

谢谢

2 个答案:

答案 0 :(得分:3)

一些评论:

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

答案 1 :(得分:2)

我最终将错误流重定向到测试节点(以测试错误代码并检查它是否为行插入错误),将这些行重定向到“OLE DB Query”节点,在该节点中我对{{1}无效,简单地忽略它们。