Oracle ODI中的慢变维

Oracle ODI中的慢变维,oracle,oracle11g,oracle-data-integrator,Oracle,Oracle11g,Oracle Data Integrator,我对奥迪很陌生。我想在我的桌子上做SCD 我的源表包含id、名称和地址,目标表包含id、名称、地址和strt_日期 我在目标表上选择了OLAP类型作为SCD。以下SCD行为也适用于每列: Id:自然密钥 名称:更改时覆盖 地址:更改时添加行 Strt_日期:开始时间戳 我选择IKM作为IKM oracle缓慢变化的维度 我在执行时出错: 原因:java.sql.SQLSyntaxErrorException:ORA-01747:无效的user.table.column、table.colum

我对奥迪很陌生。我想在我的桌子上做SCD

我的源表包含id、名称和地址,目标表包含id、名称、地址和strt_日期

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

  • Id:自然密钥
  • 名称:更改时覆盖
  • 地址:更改时添加行
  • Strt_日期:开始时间戳
我选择IKM作为IKM oracle缓慢变化的维度

我在执行时出错:

原因:java.sql.SQLSyntaxErrorException:ORA-01747:无效的user.table.column、table.column或column规范


我是否遗漏了一些重要步骤?

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

  • 新的\u id:代理密钥
  • 结束日期:结束时间戳
  • 当前记录标志:当前记录标志
  • 接口中列的映射必须是

  • 新的\u id:your\u sequence.nextval执行时间:Target
  • 结束日期:截止日期(“01-01-2400”,“DD-MM-YYYY”)执行日期:目标
  • 当前_记录_标志:1在:目标上执行
  • 还要确保在之前的实验中没有禁用KM中的任何步骤。这种事在我身上发生过好几次

    我在ODI方面也是新手,但我就是这样做的,而且很有效

    参考资料

    • IKM Oracle缓慢更改维度描述

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

  • 新的\u id:代理密钥
  • 结束日期:结束时间戳
  • 当前记录标志:当前记录标志
  • 接口中列的映射必须是

  • 新的\u id:your\u sequence.nextval执行时间:Target
  • 结束日期:截止日期(“01-01-2400”,“DD-MM-YYYY”)执行日期:目标
  • 当前_记录_标志:1在:目标上执行
  • 还要确保在之前的实验中没有禁用KM中的任何步骤。这种事在我身上发生过好几次

    我在ODI方面也是新手,但我就是这样做的,而且很有效

    参考资料

    • IKM Oracle缓慢更改维度描述

    感谢您的回复……我怀疑每次使用scd时,是否必须包含这些字段?是的。如果打开IKM Oracle缓慢更改维度、详细信息选项卡并查看步骤代码(比如历史化旧行),您可以了解原因。在这里,您可以看到“SCD_NK,SCD_END”之类的内容,在创建sql脚本时,这些内容将被实际列替换。因此,它们是需要的。您是否实现了SCD?感谢您的回复…我的疑问是,每次使用SCD时,是否必须包含这些字段?是的。如果打开IKM Oracle缓慢更改维度、详细信息选项卡并查看步骤代码(比如历史化旧行),您可以了解原因。在这里,您可以看到“SCD_NK,SCD_END”之类的内容,在创建sql脚本时,这些内容将被实际列替换。因此,它们是需要的。您是否成功实施了SCD?