如何通过SSIS包用平面文件目标文件中的空格替换列长中剩余的额外长度?

时间:2016-07-29 22:14:54

标签: ssis

在SSIS中,我正在创建一个包,并将数据从oledb源加载到平面文件目的地。在加载时,我用分号分隔符(;)分隔了列,用CR-LF分隔了行。我正在使用(ansi-latin 1)1252编码。

我遇到的问题如下。 我有3列名称varchar(10),城市varchar(10),国家varchar(10)

我在平面文件中输出

enter image description here

但是,我需要像

这样的输出

enter image description here

如上图所示,我想在占据空间的列中留下额外的长度。请有人帮助我。

1 个答案:

答案 0 :(得分:0)

解决方案可能是:在“平面文件”连接管理器的“格式”选项卡中选择:固定宽度或向右调整

enter image description here

Here对差异的解释。

在“高级”选项卡上,添加3列,每列10个。

低于出口结果

enter image description here

但在这种情况下,您无法输入列分隔符';'在文件中;
解决方法:在导出QUERY(OLE DB源代码编辑器 - SQL命令文本)中插入分隔符,以便将它们解释为宽度为1的列,这样您就拥有了 正是您需要的

我希望这有帮助。