我试图将sql数据库中的表提取到固定宽度的平面文件中。
有没有办法将列名更改/缩短到适合格式的名称?我使用“参差不齐”的文件格式,数据看起来很完美而没有列标题。
感谢任何帮助。
史蒂夫
答案 0 :(得分:0)
SSIS 真的喜欢一致的元数据。平面文件定义指定性别是长度为1,并且它将列标题保持为与其保存数据的标准相同。我对固定宽度文件的体验是他们从来没有过标题,当他们有几千字节宽时很痛苦,这很可能是由于这个问题。
您可以做的是在平面文件目的地中手动指定标题行。
在我的Connection Manager中,取消选中First Row中的Column Names并将Header Rows的值增加为1。
在我的示例中,我使用了以下查询
SELECT
*
FROM
(
VALUES
('AAAAAAAAAAAAAAAAAA','BBBBBBBBBBBBBBBBBBBBBBBB','M','CCCCCCC')
)D(c1, c2, Gender, c4);
这会产生一个看起来像
的输出文件Col1Is18BytesWide NextColumnAlignsWithNextGenderSeeWhatIDidThere
AAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBMCCCCCCC
这可能是也可能不是您正在寻找的解决方案。我认为这让我很生气,因为列标题与数据值不对齐,但你永远不知道其他系统对数据的期望。