3

我有一些在记事本和 Excel 中显示正常的 CSV 文件,但是当我在 VS2010 或 Notepad++ 中查看它们时,它们似乎有额外的换行符。当我尝试在 SSIS 中处理它们时,文件失败并出现如下错误:

Error: 0xC0202055 at Merge Files, Interface [225]: The column delimiter for column "Column 48" was not found.

这是一个截断的示例(大约有 50 列,并且换行似乎在同一位置随机换行):

在此处输入图像描述

问题是:记事本和 Excel 如何正常打开这些文件(并且似乎忽略了换行符)?有没有办法让 SSIS 处理这些文件?它可能是代码页等上的 SSIS 设置吗?

4

2 回答 2

1

对我来说,在 Excel 中打开文件,保存为 excel 文件(xlsx,但我确信旧的 xls 格式也可以正常工作),然后在 SSIS 中使用 Excel 源使我能够将文件加载到具有这种类型的 SQL 表中问题。

显然,如果您需要定期加载此类文件或如果有很多此类文件,这将不起作用。在这种情况下,第一个答案会更好。

于 2014-06-22T05:58:40.080 回答
0

对我们来说最简单的解决方案是将输入暂存到 SQL 表中,然后在随后的数据流中,在 CSV 输出中不使用换行符的情况下查询它,例如

SELECT COLUMN1
       ,REPLACE(REPLACE([COLUMN2],CHAR(10),''),CHAR(13),'') AS [COLUMN2]
FROM TABLE
于 2014-01-13T07:11:31.040 回答