1

我对 ODI 很陌生。我正在尝试在我的桌子上做 SCD。

我的源表包含 id、name 和 address,目标表包含 id、name、address 和 strt_date

我在目标表上选择了一个 OLAP 类型作为 SCD。以下 SCD 行为也适用于每一列:

  • id:自然键
  • 名称:更改时覆盖
  • 地址:更改时添加行
  • strt_date:开始时间戳

我选择 IKM 作为 IKM oracle 渐变维度

执行时出现错误:

引起:java.sql.SQLSyntaxErrorException:ORA-01747:无效的 user.table.column、table.column 或列规范

我错过了一些重要的步骤吗?

4

1 回答 1

1

我假设您正在寻找 SCD 类型 2。您的目标表还需要以下列

  1. new_id:代理键
  2. End_date:结束时间戳
  3. current_record_flag:当前记录标志

接口中列的映射必须是

  1. New_id:your_sequence.nextval 执行于:目标
  2. End_date: to_date("01-01-2400",'DD-MM-YYYY') 执行时间:目标
  3. Current_record_flag:1 执行于:目标

还要确保在之前的实验中您没有禁用 KM 中的任何步骤。它发生在我身上几次!

我也是 ODI 的新手,但我就是这样做的,而且效果很好。

参考

于 2013-06-21T07:47:53.997 回答