SSIS:创建具有不同行格式的平面文件

时间:2017-04-07 20:15:13

标签: sql-server ssis etl ssis-2012 bids

我想创建一个平面文件输出,其中行的格式不同。 文件有标题,中间数据行,页脚行。 文件将如下所示

H|deptcode123|deptNameXYZ|totalemp300   
E|Sam|Johnson|address1|empCode1|........many other columns
E|Sam2|Johnson2|address2|empCode2|........many other columns
E|Sam4|Johnson3|address3|empCode3|........many other columns
E|Sam5|Johnson4|address4|empCode4|........many other columns         
J|300|250000

如何在SSIS中生成此文件。输入将来自不同的表,我打算编写3个单独的查询/ sp来获取标题,中间行和页脚行记录。

2 个答案:

答案 0 :(得分:3)

如果要创建行具有不同元数据的平面文件。您必须使用单列平面文件连接管理器。 petasq数据类型和长度= 4000

使用相同的Dt_WStr

连续使用3 DataFlow task

第一个写标题,第二个写中间行,第三个写页脚。

您可以从选择语句或使用Flat file destination

连接值

答案 1 :(得分:3)

为此,您需要为每种不同类型的行集提供数据流和连接管理器。例如,要拥有不同的页眉,正文和页脚,您需要3个数据流和3个平面文件连接管理器。每个平面文件连接管理器都指向同一个文件。诀窍是确保取消选中平面文件目标中的Overwrite data in the file设置。这样,每个数据流都会执行并附加到文件中,每个数据流都可以有其离散的列和数据类型。

enter image description here enter image description here