0

使用 Informatica 9.1.0

设想

从 Fact 加载中获取生成并插入到 Fact 表中的 Dimension 键。

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

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

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

提前致谢

4

1 回答 1

0

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

于 2012-11-07T15:05:21.943 回答