SSIS CSV文件加载到表

时间:2009-08-03 23:24:00

标签: ssis

我在加载.CSV文件时遇到问题,因为连接管理器编辑器设置不为我所知。

当我加载.CSV文件最多18行时,我没有问题,它正在加载到表中。

但是,从第19栏开始,数据没有正确分配。

行分隔符为{CR} {LF} 列定界符是逗号{,}

如何正确分区数据?

任何帮助?

5 个答案:

答案 0 :(得分:1)

以下是我的一些想法,没有细节。

  1. 当您尝试将相同的.CSV文件导入Excel时会发生什么?第19排有趣吗?
  2. 是否出现与第19行有什么不同?
  3. 如果删除第19行,会发生什么?
  4. 看,我打赌你已经考虑过这些事情了,可能更多,因为你有详细信息。如果你想要的不仅仅是肤浅的猜测,你必须提供一些细节。

答案 1 :(得分:0)

我发现CSV导入在数据不良方面有点受限。如果您在使用第19栏时遇到问题,我建议您找出该列失败的原因。您可以尝试通过数据截断等方式告诉导入任务的错误条件以忽略错误...但这可能无法解决问题。

我经常将复杂或容易出错的CSV导入切换为仅使用SSIS脚本任务,然后编写我自己的代码来解析CSV并处理错误数据。

答案 2 :(得分:0)

如果它没有正确分区,它可能与包含逗号的第19行上的某个字段值一样微不足道,因此通过使该行看起来有更多列来丢弃导入。如果是这种情况,我希望您可以获得CSV文件的修订版本 - 这次使用文本限定符集。如果可能的话,使用类似的东西而不是“作为限定符,以便它不太可能出现在字段值中。

答案 3 :(得分:0)

将文件放在文本编辑器(如记事本++或textpad)中,然后更改视图以显示控制字符。你可能会在那里找到你的罪魁祸首。

答案 4 :(得分:0)

没什么不寻常的。当我将excel作为一列粘贴并将文本转换为列时没有问题。但我可以在SSIS预览中看到问题已经开始的字段值有两个方框和下一行的数据。 如果有人想看到该文件,请告诉我,我会通过电子邮件将该文件发送给您。