将多个平面文件导入单个OLE DB表目标(所有文件具有不同的表列)

时间:2013-09-11 18:32:27

标签: sql-server-2008 visual-studio-2008 ssis bids

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

我有12个数据流任务,我试图正常工作。 --1有5个文件到1 db destionation --1有3个文件到1分贝目的地。

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

  • FlatFile Source1
  • 数据转换
  • 合并Join1(关于其他文件的排序ID)
  • FlatFile Source2
  • 数据转换
  • 合并Join1
  • 排序(在propertyID上排序)
  • 合并Join2

  • 平面文件来源

  • 数据转换
  • 合并Join2

  • 合并Join2 - > OLE DB目的地

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

除了“Property_ID”

之外,每个文件都有不同的列用于指定的目标表

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

非常感谢任何帮助。

更新

我确实解决了这个问题。

我所做的是在将每个文件按键排序后将两个文件合并为一个合并。

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

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

1 个答案:

答案 0 :(得分:0)

我所做的是在将每个文件按键排序后将两个文件合并为一个合并。

Flat Source DataConversion 分类 合并连接(左表是具有我要匹配的主要ID的表)

这是一个来自独立平源文件的合并连接; 扁平来源 DataConversion 分类 ToAboveMerge加入

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