SSIS一个源映射到具有主键的2个表

时间:2016-04-21 17:11:28

标签: ssis edi

我是SSIS的新手,我必须将Cozyroc 835 EDI源处理到数据库中。 EDI的一个输出是2个表的组合,表A包含表B的外键,因此我必须按顺序插入表中。我试图使用多播,但它不允许我在表插入上设置优先级。是否有任何转变可以让我指定优先权?

2 个答案:

答案 0 :(得分:1)

最佳答案是拥有两个数据流任务并对文件进行双重处理。否则,我have an answer但严重不这样做。

只需双重处理文件即可。第一次填充表A,然后填充表B,以满足FK关系。

从评论中 - 有人问我们是否可以从数据流任务中传递数据。

不,数据流是自成一体的工作块。如果你担心解析,你可以看看使用MultiCast组件 - 一个到表A的路由,一个到Raw File Destination然后填充原始文件,只填充你需要填充表B的列。原始文件是SSIS独有的二进制文件,它可以高效读取,因为它不需要任何区域设置感知解析。

答案 1 :(得分:0)

另一个选择是始终将整个EDI导入到一个临时表中,然后执行一个存储过程,从存储表中填充两个目标表。