SSIS错误:找不到列“columnX”的分隔符

时间:2017-06-04 23:18:23

标签: sql ssis etl sql-server-data-tools ssis-2012

此问题之前已在此处提出,但所提出的解决方案似乎对我不起作用。

我正在尝试导入文本文件管道分隔文本限定符"。 SSIS包正在返回错误消息

  

未找到列“columnX”的分隔符

其中列X是文件中的最后一个字段。

在连接管理器高级选项卡中,我已将columnX的列分隔符设置为{LF},而所有其他字段都设置为垂直|

我已经验证了该文件,并且没有遗漏字段。有一些空值,但所有字段都在那里。

我无法指出造成这种情况的原因。非常感谢您的帮助。

5 个答案:

答案 0 :(得分:1)

我建议删除平面文件连接管理器,然后重新创建它,以便自动设置所有选项。只需选择列分隔符为|

即可

如果它不起作用,您必须验证平面文件不包含错误的行。

检查这些可能有帮助的解决方案:

或者,如果您已经安装了sql server,请尝试使用导入和导出向导将此fla文件importibg到sql server表中,并在导入后检查数据可能有助于检测包含错误的行。

答案 1 :(得分:0)

我意识到该线程很旧,但是我一直在寻找解决此确切问题的方法,但没有找到。当我调整了DataType的列太多时,删除平面文件连接管理器是极端的事情。

在出现此错误的情况下,它是最后一列,分隔符已从{CR} {LF}切换到{LF}。我将其切换回{CR} {LF}并成功。

此外,在一般情况下,标头行定界符也已更改为{LF},我也将其更改为{CR} {LF}。

答案 2 :(得分:0)

尝试在平面文件连接管理器编辑器的“高级”选项卡中增加ColummnWidth。

Pic with example

对我有用。

答案 3 :(得分:0)

答案 4 :(得分:-1)

不要将最后一个列分隔符设置为LF。如果文件行以{LF}结尾(我相信您已经验证),则将标题行分隔符设置为{LF}: enter image description here