【问题标题】:SSIS, Flat file connection header, footer with different column widthSSIS,平面文件连接页眉,不同列宽的页脚
【发布时间】:2018-11-12 21:32:21
【问题描述】:

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

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

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

如何将一行页眉和页脚附加到来自数据流任务的现有文件。我不知道该怎么做..

【问题讨论】:

  • 您可以创建 3 个输出文件并将这 3 个文件与 C# 合并。

标签: ssis


【解决方案1】:

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

【讨论】:

  • 非常感谢,这一切都帮了大忙 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
  • 2015-11-03
  • 2018-10-10
相关资源
最近更新 更多