SSIS,平面文件连接头,具有不同列宽的页脚

时间:2018-11-12 21:32:22

标签: ssis

我有一个数据流任务,该任务从proc中获取数据,对行进行计数并将行添加到平面文件中,该文件具有约20列,每列具有不同的输出列宽,在平面文件连接管理器的高级标签中指定。平面文件目标对象每次都会覆盖文件,并且文件名是动态创建的。

现在我需要做的是在只有5列的现有平面文件中添加页眉和页脚行,每列都有自己的宽度。页眉和页脚的值不是来自上述数据流任务中使用的数据集。

我认为它将是平面文件连接对象,其中有5列。某些列值可以从变量中获取。

如何将一排页眉和页脚附加到来自数据流任务的现有文件中。我不确定该怎么做。

1 个答案:

答案 0 :(得分:1)

由于页眉和页脚行使用不同的数据,因此可以使用三个数据流任务(一个用于页眉,当前输出和页脚)。在“控制流”选项卡上,使用“优先约束”以正确的顺序链接每个DFT。对于页眉和页脚任务,添加必要的源组件并将输出设置为平面文件目标。创建一个字符串变量,其中将包含将所有结果写入其中的输出文件的名称,并在所有使用的平面文件连接管理器上的ConnectionString表达式中进行设置。这将确保它们都写入同一文件。在第一个(标题)DFT上,选择平面文件目标上的“覆盖文件中的数据”选项,以确保将创建一个新文件。这也可以通过使用“高级编辑器”,转到“组件属性”窗格并将Overwrite设置为true来完成。在第二个(当前)和页脚DFT上,将overwrite选项设置为false,以便仅将数据添加到这些任务的文件中。