第一个映射
一、创建“项目”
设计器->项目,点击插入项目图标,
在项目对话框的“定义”标签下输入项目名称如Sakila_DWH ,保存
二、导入知识模块
项目→知识模块→右键导入知识模块
文件导入目录:Oracle\Middleware\Oracle_Home\odi\sdk\xml-reference
反向工程知识模块(RKM) |
RKM Oracle |
加载知识模块(LKM) |
LKM SQL to Oracle |
检查知识模块(CKM) |
CKM Oracle |
集成知识模块(IKM) |
IKM Oracle Incremental Update |
日记知识模块(JKM) 用不到 |
JKM Oracle Consistent JKM Oracle Simple |
服务知识模块(SKM) 用不到 |
SKM Oracle |
三、新建并配置映射
Step1 右键映射→新建映射
Step2 分别从模型SAKILA和SAKILA_DWH中将模型ACTOR和DIM_ACTOR拖拽到映射的编辑面板
Step3 连接源表Actor的输出节点和目标表DIM_ACTOR的输出节点,在属性匹配提示是否按照名称自动匹配,点击确定
此时两个表的ACTOR_ID属性已经建立了映射,DIM_ACTOR前面的箭头变成了深色,点击DIM_ACTOR的ACTOR_ID,ACTOR表的ACTOR_ID背景会变红。
Step4 继续将讲ACTOR表的FITST_NAME,LAST_NAME,LAST_UPDATE拖拽到DIM_ACTOR的ACTOR_FITST_NAME, ACTOR_LAST_NAME, ACTOR_LAST_UPDATE属性上。保存并验证
因为ACTOR_KEY由数据库维护ID自增,可以忽略
点击目标DataStore,会显示映射情况
属性面板表达式后面有个按钮,可以提供图形化编辑 按钮
点击后、
Step5 修改DIM_ACTOR的约束条件,增加ACTOR_ID设置为替代键,反向生成时候只生成了主键的约束条件
Step6 逻辑tab页面,选中dim_actor,设置集成类型为增量更新,更新关键字为新建的替代键,约束条件主键PK_DIM_ACTOR_KEY 为假
Step7 逻辑tab页面,设置目标表dim_actor的主键actor_key非空检查复选框不选中
Step8 物理tab页,设置中间模块的LKM为LKM SQL TO Oracle
Step9 物理tab页,设置目标表dim_actor的集成知识模块的IKM为IKM Oracle Incremental update
点击工具栏绿色的执行映射,在操作→会话列表→查看执行结果
去数据库查询结果
SELECT * FROM "SAKILA_DWH"."DIM_ACTOR";
继续在源表ACTOR 插入一条数据
INSERT INTO "SAKILA"."ACTOR" ("FIRST_NAME","LAST_NAME","LAST_UPDATE")VALUES(‘张三‘,‘张三‘,sysdate);
执行映射,会发现能够把新增的记录同步过去
至此,就完成了一个完整的映射。