【发布时间】:2014-09-03 07:15:05
【问题描述】:
我正在使用 SSIS 将 csv 非 unicode 文件导入 SQL Server。我收到错误“文本被截断或一个或多个字符在目标代码页中不匹配”。它在第 70962 行的第 0 列中失败,该行的数据与其他行一样;第一列中的数据不会比它上面的行中的数据长。
我的第 0 列在平面文件连接和数据库中定义为 255 宽。第 70692 行(以及大多数其他行)中的数据为 17 个字符。
奇怪的是,如果我删除文件中第 70962 行上方的一行,甚至是第一行,并保存 csv 文件,那么导入运行正常。如果我替换删除的行并运行导入,它会再次失败。
所以我什至不确定如何确定问题所在。
如果我创建一个新的单列平面文件连接,我可以将整个文件导入到单列表中。但是,一旦我添加了第一列分隔符(即第二列),它就会在同一行上失败。
目前我只是不知道如何进一步调试。
【问题讨论】:
-
这样的时候,我拉出XVI32 在数据中寻找gremlins。另一种选择是在 .NET 中编写一个快速解析器来尝试查找不匹配的行
标签: sql-server csv ssis