首页 > 解决方案 > SSIS包将平面文件数据插入两个不同的表

问题描述

我想将平面文件数据插入到两个不同的sql表中。但是来自平面文件的一些附加字段应该在指标字段的基础上插入到其他表中,而通常的字段应该插入到常规表中。另一个问题是,由于没有列映射,无法直接插入要插入的附加字段。

例如:

1234 056 Y Tushar
5678 065 N 

所以应该将 1234 056 插入到常规表中,但指示器 Y 告诉我们应该将 Tushar 插入到其他表中。

但是我想插入 Tushar 的表不能直接完成,因为它没有 1234 列名。

对于指标 N,它也应该正常插入基表中。

所以我所做的是我使用了条件拆分,然后使用了 ole db 命令,但它在表中插入了多条记录。

标签: ssis

解决方案


如果您将Multicast任务放在平面文件源之后,则可以创建数据集的额外副本。然后你可以使用一个副本插入到常规表中,然后你可以把你Conditional Split放在第二个副本上。

您的数据流将如下所示: 在此处输入图像描述

在我的Flat File Source我定义了四列: 在此处输入图像描述

Multicast不需要任何配置,我认为目的地Regular Table不会给您带来麻烦。因此,接下来,您将使用Conditional Split任务创建指标检查。检查Y这样的值: 在此处输入图像描述

然后只需映射要插入的任何可用列Other Table。我选择了第二列(我称为 mine Seq)和Name列。您可能有不同的名称。 在此处输入图像描述


推荐阅读