0

我正在处理具有以下可能记录结构的 SSIS 中的平面文件:

ACTION_TYPE   PERSON_ID     TIME_STAMP
-----------   ---------     ---------------
  1 / 2       (9 digits)    (up to millis) 

逻辑表明,在执行操作 2 之前,我必须为每个人执行操作 1。此外,“动作”可以不受任何限制地出现在文件中:1 和 2 的对,每个人只有 1 个,只有 2 个,等等。

现在,流程是:

                                                      __(1)___> PERFORM 1 ON PERSON (DB)
SOURCE --> SORT BY OPERATION --> CONDITIONAL-SPLIT --|
                                                     |__(2)___> PERFORM 2 ON PERSON (DB)

一切正常,直到我注意到从条件拆分出来的记录的顺序没有被保留 - 即,当同一个人的 1 和 2 的“双行”进入拆分时,它可能会一起执行,并行 - 导致我的数据库中出现竞争条件甚至违反约束(因为该表是建立在 1 总是在 2 之前执行的假设之上的)。

使用时间戳对数据进行排序非常有帮助,但是拆分会再次弄乱顺序,就像我在这里所做的排序一样。

任何想法如何“序列化”con-split的输出?如果以某种方式使用全顺序模式,我可以执行流程吗?

谢谢,哈雷尔

4

0 回答 0