如何将1个平面文件导入SSIS中的多个表

时间:2014-12-25 18:06:02

标签: ssis

我在SQL Server 2008和SSIS(BIDS)工作。我有一个平面文件,我想通过键入其中一列来导入到几个表中。列数因每个键而异。

例如,假设我有一个包含2种不同记录类型的平面文件 - 记录类型A和记录类型B."记录类型A"有5列。记录类型B的所有记录都有10列。第1列保存所有记录的记录类型标记(例如,' A' B')。因此,在导入这个1平面文件后,我想要所有的' A'记录进入我的A' A'桌子,我想要所有的' B'记录进入我的' B'表

如何在SSIS中实现这一目标?如果1平面文件被拆分为2个单独的平面文件,那么我可以为每个文件设置数据流任务。我已经读过,最好将所有记录导入到一个临时表中,然后编写一个SELECT语句来执行后续导入到表A和B中。但是,如果这是最佳实践,我不确定。

1 个答案:

答案 0 :(得分:2)

您可以导入到临时表,但您也可以使用条件性拆分在SSIS中处理此问题。

您需要一个数据流,数据源可以从文件中获取数据。下一步应该是条件性拆分,表达式检查列的值:

[第1栏] ==“A”

[第2栏] ==“B”

以下是有关条件拆分任务在设置时的外观的屏幕截图:

Conditional Split set-up

适当地命名这两个输出,然后通过将输出连接到不同的任务,可以在条件分割后添加两种不同类型记录所需的处理。如果您只是想直接进入目标任务,那么可能会出现这种情况:

Data Flow with Conditional Split example