SSIS 读取平面文件 header 列
SSIS reading flatfile header column
你们能帮我(指出正确的方向)我如何在 SSIS 中实现以下目标吗?
所以,我有一个如下所示的平面文件
ColumnA ColumnB ColumnC ColumnD ColumnN
1 x APPLE Random1 MoreRandomData1
2 y ORANGE Random2 MoreRandomData2
3 z OTHER Random3 MoreRandomData3
...我需要将这些数据存储到 table 中,格式如下
ColumnA, ColumnB, BigBlurColumn
1 x ColumnC:APPLE, ColumnD:Random1, ColumnN:MoreRandomData1
2 y ColumnC:ORANGE, ColumnD:Random2, ColumnN:MoreRandomData2
3 z ColumnC:OTHER, ColumnD:Random3, ColumnN:MoreRandomData3
这是我的问题:
1. 如何读取平面文件的 header/column?
2. 是否可以旋转#1
的结果
如果我能够同时操纵#1 和#2,那么在 SSIS 中重置对我来说将相当容易,显然我可以编写这些脚本,但是我的客户坚持使用 SSIS,因为这是标准的 ETL 工具。
关于如何实现上述场景有什么想法吗?
谢谢
在平面文件连接管理器中,取消选中 First row contains header
选项。然后转到“高级”选项卡,删除所有列并保留一个并将其长度更改为 4000。
在数据流任务中,添加一个拆分每一行的脚本组件,并且:
- 从第一行开始读取第 headers 列
- 在所有剩余行中生成所需的输出列
以下答案(不同情况但很有帮助)会给你一些见解:
尝试将数据转储到分段 table,然后使用 STRINGAGG() 函数将数据连接成您想要的格式并将其移动到目标 table。
你们能帮我(指出正确的方向)我如何在 SSIS 中实现以下目标吗?
所以,我有一个如下所示的平面文件
ColumnA ColumnB ColumnC ColumnD ColumnN
1 x APPLE Random1 MoreRandomData1
2 y ORANGE Random2 MoreRandomData2
3 z OTHER Random3 MoreRandomData3
...我需要将这些数据存储到 table 中,格式如下
ColumnA, ColumnB, BigBlurColumn
1 x ColumnC:APPLE, ColumnD:Random1, ColumnN:MoreRandomData1
2 y ColumnC:ORANGE, ColumnD:Random2, ColumnN:MoreRandomData2
3 z ColumnC:OTHER, ColumnD:Random3, ColumnN:MoreRandomData3
这是我的问题:
1. 如何读取平面文件的 header/column?
2. 是否可以旋转#1
如果我能够同时操纵#1 和#2,那么在 SSIS 中重置对我来说将相当容易,显然我可以编写这些脚本,但是我的客户坚持使用 SSIS,因为这是标准的 ETL 工具。
关于如何实现上述场景有什么想法吗?
谢谢
在平面文件连接管理器中,取消选中 First row contains header
选项。然后转到“高级”选项卡,删除所有列并保留一个并将其长度更改为 4000。
在数据流任务中,添加一个拆分每一行的脚本组件,并且:
- 从第一行开始读取第 headers 列
- 在所有剩余行中生成所需的输出列
以下答案(不同情况但很有帮助)会给你一些见解:
尝试将数据转储到分段 table,然后使用 STRINGAGG() 函数将数据连接成您想要的格式并将其移动到目标 table。