我正在使用SSIS导入一个csv非Unicode文件到SQL Server中。我收到错误“文本被截断或者一个或多个字符在目标代码页中没有匹配”。它在行70962的列0中失败,该行的数据与其他行一样;第一列中的数据不再比它上面的行中的数据长。奇怪/不一致的SSIS行导入错误
我的列0在平面文件连接中定义,在数据库中定义为255宽。行70692(和大多数其他行)中的数据是17个字符。
奇怪的是,如果我删除文件中第70962行上面的一行,甚至是第一行,并保存csv文件,那么导入运行正常。如果我替换已删除的行,并运行导入,则会再次失败。
所以我甚至不知道如何确定问题是什么。
如果我创建一个新的平面文件连接是单列,我可以将整个文件导入到单列表格中。但只要我添加第一列分隔符(即第二列),那么它就会在同一行上失败。
目前我只是缺乏关于如何进一步调试的想法。
像这样的时代,我拉出[XVI32](http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm)在数据中寻找gremlins。另一种选择是在.NET中编写一个快速解析器来尝试找到不匹配的行 – billinkc 2014-09-03 15:12:26