我有一个SSIS包设置为将数据从SQL Server 2008 R2表导出到该表的MySQL版本。然而,该包执行,我约1%的行未能被导出。SSIS:SQL 2008 R2到MySQL数据丢失
我的源连接使用SQL语句
SELECT * FROM表1
所有列都是整数。其成功导出一排的一个例子是
2169,2680,3532,NULL,2169
相比的行已失败
2168,2679,3532,NULL,2168
几乎没有什么不同,我可以确定。
值得注意的是,如果我将源查询更改为仅尝试传输单个失败行 - 即。
SELECT * FROM表1 WHERE ID = 2168
然后记录被细导出 - 只有当一个选择它返回失败多行的一部分。每次导出都会失败。我将错误行重定向到一个文本文件,该文件为失败的行显示-1071610801错误。这显然会转化为: -
DTS_E_ADODESTERRORUPDATEROW:“将此行发送到目标数据源时发生错误。”
这并没有真正增加我对这个问题的理解!
我想知道是否有一个锁定问题或某些东西阻止给定的行被提取或正确插入,但如果任何人有什么想法或建议什么可能导致这个甚至更好的如何去解决它,他们会不胜感激。我目前处于全面损失...
目标表中是否有mybe唯一键,并且源中存在重复值? – Matej 2012-01-04 22:39:52
另一个想法是使用'For Each'容器,计数器变量和源sql作为表达式进行批处理?如果您遇到问题,请寻求帮助。 – Matej 2012-01-04 22:43:55
没有唯一的键 - 如果单独导出,同一行将多次导出,而不是在与select中的其他行一起推出时导出多次。将批量去。 – user1025443 2012-01-05 11:19:00