ODI 12C - 业务键自动增量

时间:2016-12-12 04:22:14

标签: business-intelligence oracle-data-integrator

使用ODI 12C,我有一个包含2个主键组合的维度。我只想用自动增量执行业务键。

注意: - 我不需要SCD行为

2 个答案:

答案 0 :(得分:0)

我这样做了:

1 - 在数据库模式中创建序列(没有缓存)

2 - 在所需的映射中调用它:

        $predis->setRedis(new \Redis());

3 - 将映射设置为:

仅对插入有效,取消选中NOT NULL条件,EXCUTE ON HINT:TARGET

4 - 将CKM TO:CKM SQL

5 - 运行

答案 1 :(得分:0)

您可以在项目或全局对象中创建序列。它有三种类型:

  • 标准序列,其中最后一个值将存储在存储库中,ODI将在每次检索值时将其递增。
  • 特定顺序,与上述相同,只是您选择存储值的模式在哪个表中
  • 本机序列,它只使用底层数据库序列。这是最受欢迎的选择,因为它会更好地表现。

然后,您可以使用:<SEQUENCE_NAME>_NEXTVAL调用它。对于本机序列,它将为每一行获取一个新值。对于标准或特定序列,它将为代理处理的每一行提供新值。因此,如果您逐行操作,它将为每一行提供一个新值,但如果您进行批处理操作,它将在任何地方使用相同的值。

你也可以使用#<SEQUENCE_NAME>_NEXTVAL来调用它,但是在推送数据库上的SQL以使所有行具有相同的值之前,这个只会被替换一次。

如果在Oracle数据库上使用本机序列,则必须将执行提示设置为目标,以便序列调用位于最外层的选择中。< / p>