我是SSIS的新手,我必须将Cozyroc 835EDI源处理成数据库。EDI的一个输出是两个表的组合,表A包含表B的外键,所以我必须按顺序插入到表中。我尝试使用多播,但它不允许我在表插入上设置优先级。有没有什么转换可以让我决定优先顺序?
发布于 2016-04-22 02:00:26
最好的答案是有两个数据流任务,并对文件进行双重处理。否则,我have an answer,但真的不会这么做。
只需对文件进行两次处理。第一次填充表A,然后填充表B,以便满足FK关系。
从评论中,我们被问到是否可以将数据从数据流任务中传递出去。
不,数据流是自包含的工作块。如果您关心解析,可以考虑使用MultiCast组件-一条路由通向表A,另一条路由通向原始文件目的地,然后只使用填充表B所需的列填充原始文件。原始文件是SSIS二进制文件,它可以有效地读取这些文件,因为它不需要任何区域设置感知的解析。
发布于 2016-04-22 20:59:10
另一种选择是始终将整个EDI导入到单个临时表中,然后执行一个存储的过程,该过程从临时表填充两个目标表。
https://stackoverflow.com/questions/36776321
复制相似问题