奇怪/不一致的SSIS行导入错误

时间:2014-09-03 07:15:06

标签: sql-server csv ssis

我正在使用SSIS将csv非unicode文件导入SQL Server。我收到错误“文本被截断或目标代码页中的一个或多个字符不匹配”。它在第70962行的第0列失败,它的数据与其他所有行一样;第一列中的数据不会超过其上方行中的数据。

我的列0在平面文件连接中定义,在数据库中定义为255宽。行70692(以及大多数其他行)中的数据是17个字符。

奇怪的是,如果我删除文件中第70962行上的一行,甚至是第一行,并保存csv文件,那么导入运行正常。如果我替换了已删除的行,并运行导入,则会再次失败。

所以我甚至不确定如何确定问题所在。

如果我创建一个单列的新平面文件连接,我可以将整个文件导入单列表。但是只要我添加第一列分隔符(即第二列),它就会在同一行上失败。

目前我对如何进一步调试这个问题一无所知。

1 个答案:

答案 0 :(得分:0)

您已经在问题中给出了答案;)

  

如果我删除文件中第70962行上方的一行,即使是第一行,也是如此   保存csv文件,导入运行正常。

文件中某处有一个破损的分隔符。当您在违规行之前删除任何数据时,分隔符的不匹配可能没有得到妥善处理,而只是保持打开状态直到文件的最后,程序将为您处理它。

检查您提到的行和该行上方行的行和列分隔符。