在Informatica中使用带有同步缓存的并行会话进行动态查找

时间:2012-09-27 17:02:09

标签: informatica-powercenter informatica

使用Informatica 9.1.0

方案

从Fact load中获取Dimension键并将其插入Fact表。

我必须使用维度键和其他列加载Fact表。此维度记录是在同一映射中创建的。有五个不同的会话使用相同的映射并同时执行以加载Fact表。在这种情况下,我使用动态查找,启用“同步动态缓存”以使用某些条件获取从5个会话生成的唯一维度记录。使用查找的关联表达式中的Sequence-ID生成维度ID。单独运行一个会话就可以了。但是当会话并行运行时,它开始显示唯一的密钥违规错误,因为随机会话试图插入已经存在的相同序列。

要解决此问题,我必须启用持久查找缓存和缓存文件名前缀。但我没有在任何论坛或INFA社区中找到此解决方案或此问题。所以不确定这是正确的做法,或者这是某种错误。

如果您有类似的问题或不同的想法,请告诉我。

提前致谢

1 个答案:

答案 0 :(得分:0)

我能想到的另一个可能的解决方案是让数据库生成序列而不是使用Informatica的sequencer。数据库应该能够避免任何唯一的密钥违规。