0

我目前正在为我们将收到的新导入文件创建一个 SSIS 包。该公司改变了以前的方式 - 一张桌子的 1 个平面文件。现在,他们将数据分散在 1 个表的多个文件中。

我有 12 个数据流任务中的 2 个,我正在努力尝试使其正常工作。--1 有 5 个文件到 1 db 目标 --1 有 3 个文件到 1 db 目标。

每个文件都有一个我用来排序的一致键(Property_ID)。平面文件数据流任务的当前设置是:

  • 平面文件源 1
  • 数据转换
  • 合并 Join1(对其他文件的排序 ID)
  • 平面文件源 2
  • 数据转换
  • 合并Join1
  • 排序(按属性 ID 排序)
  • 合并Join2

  • 平面文件源

  • 数据转换
  • 合并Join2

  • 合并 Join2 -> OLE DB 目标

我已经尝试了合并连接的所有连接类型,但仍然无法将数据正确放入表中。

除了“Property_ID”之外,每个文件对于指定的目标表都有不同的列

我收到的当前结果是仅包含来自 1 个平面源文件而不是其他源文件的数据的数据行。

非常感谢任何帮助。

更新

我确实解决了这个问题。

我所做的是将 2 个文件合并到一个合并中,然后每个文件都按一个键排序。

之后,将合并作为右表放入合并连接中,其中左连接表是另一个单独的平面源文件,它实际上具有进入表的主排序键。

然后,合并连接在相同的 sortID 上排序,所有文件都直接用于 ole db 目标。

4

1 回答 1

0

我所做的是将 2 个文件合并到一个合并中,然后每个文件都按一个键排序。

Flat Source DataConversion Sort Merge Join(左表是我要匹配的主id的表)

这进入了来自单独平面源文件的合并连接;Flat Source DataConversion Sort ToAboveMerge Join

然后,合并连接在相同的 sortID 上排序,所有文件都直接用于 ole db 目标。

于 2013-10-02T16:50:29.373 回答