我有一个带有重复值的excel文件。在SQL表中,字段是主键。我创建了一个ssis包,用于从excel导入数据。如果有任何重复值或任何损坏的数据,我会放置一个错误表来存储损坏或重复的数据。如果有任何错误数据,它会重定向到错误表...我尝试使用excel没有任何重复数据它将将整个数据插入目标表,将损坏的数据插入错误表。如果有任何重复数据,它会将一些数据插入目标表,将所有其他数据插入错误表,而不仅仅是重复数据。移动到错误表的数据数量是不可预测的...与.csv文件相同...这是什么原因? 如果有人知道请帮我纠正......
感谢。
答案 0 :(得分:2)
SSIS批量插入记录,因此如果批处理中的某个记录由于主键约束而导致SQL错误,则整个批处理将被移动到错误表中。由于记录未一次插入一个,因此它不能仅移动未通过约束的记录,因为它不知道哪条记录失败。
您可以将批量大小设置为1,以便移动单个记录,但我肯定会影响性能。
http://www.sqlservercentral.com/Forums/Topic981919-148-1.aspx#bm981944