我对SSIS很新 - 使用2008版本。
我有一份使用一些数据流任务的工作。在第三个,我在它需要插入的最后一行上遇到主键违规,但有时只是!
我现在想忽略这个问题,让工作继续下去。我为DataFlowTaks,SequenceContainer和Package设置了MaximumErrorCount属性为10,但仍然失败,这导致程序包停止。
有人可以建议我如何让套餐忽略错误吗?
由于
罗布。
答案 0 :(得分:4)
该错误计数是指SSIS在停止程序包之前允许出错的任务数。您希望允许一定数量的行出错 - 这不是它的计数。
相反,您应该进入目标并在该目标上配置错误输出,以忽略错误或重定向错误(更好)。然后,您可以将目标组件底部的红色箭头拉到派生列(或不需要将其输出附加到任何内容的任何其他类型的组件),并将数据查看器放在该红色链接上。现在,所有失败的行都将转到派生列,并显示在数据查看器中供您查看(在BIDS中)。
您需要做的另一件事是将OLE DB目标上的批量大小(如果这是您正在使用的)更改为1,以便它一次只插入一行。否则,它将使包含错误的整个批次失败...