SSIS 2012 列 header 对于列宽来说太长 提取固定宽度的平面文件
SSIS 2012 column header is too long for column width Extracting fixed width flat file
我正在尝试将 table 从 sql 数据库中提取到固定宽度的平面文件中。
- 文件应该有一列 header
- 我正在尝试重新创建一个已经存在的文件,其中某些列(例如宽度为 1 的性别)的 header 的列名对于其列格式而言太长。
- 现有文件只是切断了这些列 headers,因此性别(目标的数据库列名称和输入列变为 'G' - 恰好适合..但是当我尝试通过在创建 flatFile connectionManager 时指向现有文件来重现 SSIS 2012 中的提取它在没有 header 的情况下工作,但在我检查 "column header in first data row"
时却没有
有没有办法 change/shorten 列名称正好符合格式?我使用的是 "ragged right" 文件格式,没有 headers.
列的数据看起来很完美
感谢任何帮助。
史蒂夫
SSIS 真的 喜欢一致的元数据。平面文件定义指定性别的长度为 1,它会将列 header 保持在与它保持数据相同的标准。我对固定宽度文件的经验是,它们从来没有 headers,当它们有几千字节宽时这很痛苦,这可能是由于这个问题。
您可以做的是在平面文件目标中手动指定 header 行。
在我的连接管理器中,我取消选中第一行中的列名并将 Header 行跳过值增加到 1。
在我的示例中,我使用了以下查询
SELECT
*
FROM
(
VALUES
('AAAAAAAAAAAAAAAAAA','BBBBBBBBBBBBBBBBBBBBBBBB','M','CCCCCCC')
)D(c1, c2, Gender, c4);
这导致输出文件看起来像
Col1Is18BytesWide NextColumnAlignsWithNextGenderSeeWhatIDidThere
AAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBMCCCCCCC
这可能是也可能不是您正在寻找的解决方案。我认为看到列 header 与数据值不一致会让我发疯,但你永远不知道其他系统如何期望它们的数据。
我正在尝试将 table 从 sql 数据库中提取到固定宽度的平面文件中。
- 文件应该有一列 header
- 我正在尝试重新创建一个已经存在的文件,其中某些列(例如宽度为 1 的性别)的 header 的列名对于其列格式而言太长。
- 现有文件只是切断了这些列 headers,因此性别(目标的数据库列名称和输入列变为 'G' - 恰好适合..但是当我尝试通过在创建 flatFile connectionManager 时指向现有文件来重现 SSIS 2012 中的提取它在没有 header 的情况下工作,但在我检查 "column header in first data row" 时却没有
有没有办法 change/shorten 列名称正好符合格式?我使用的是 "ragged right" 文件格式,没有 headers.
列的数据看起来很完美感谢任何帮助。
史蒂夫
SSIS 真的 喜欢一致的元数据。平面文件定义指定性别的长度为 1,它会将列 header 保持在与它保持数据相同的标准。我对固定宽度文件的经验是,它们从来没有 headers,当它们有几千字节宽时这很痛苦,这可能是由于这个问题。
您可以做的是在平面文件目标中手动指定 header 行。
在我的连接管理器中,我取消选中第一行中的列名并将 Header 行跳过值增加到 1。
在我的示例中,我使用了以下查询
SELECT
*
FROM
(
VALUES
('AAAAAAAAAAAAAAAAAA','BBBBBBBBBBBBBBBBBBBBBBBB','M','CCCCCCC')
)D(c1, c2, Gender, c4);
这导致输出文件看起来像
Col1Is18BytesWide NextColumnAlignsWithNextGenderSeeWhatIDidThere
AAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBMCCCCCCC
这可能是也可能不是您正在寻找的解决方案。我认为看到列 header 与数据值不一致会让我发疯,但你永远不知道其他系统如何期望它们的数据。