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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS:创建具有不同行格式的平面文件相关的知识,希望对你有一定的参考价值。

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

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来获取标题,中间行和页脚行记录。

答案

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

使用相同的DataFlow task连续使用3个Flat file destination

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

您可以从select语句或使用qazxsw poi连接值

另一答案

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

Overwrite data in the file enter image description here

以上是关于SSIS:创建具有不同行格式的平面文件的主要内容,如果未能解决你的问题,请参考以下文章

SSIS 输出到平面文件为 0.00

SSIS - 将表数据分块导出到平面文件

如何根据SSIS中的创建日期读取文件夹的所有文件?

SSIS输出日期为DD / MM / YYYY 00:00:00

SSIS - 如何从平面文件插入到具有日期范围的OLE DB?

SSIS - SQL Server datetimeoffset目标列,标识为DT_WSTR