小弟初学ODI 最近在试验做ODI 10G知识模块二次开发,为了简单起见,就在IKM Oracle Incremental Update的基础上加了一个步骤,这个步骤是执行一个简单的存储过程,向目标数据库的一个表中插入一条日志记录(记录本次ETL数据加载是否完成,是否成功,已经其他相关信息),过程如下:
- SQL code
create or replace PROCEDURE test_procASBEGIN insert into log_info(PROC_NAME,ERROR_INFO,OP_DATE) values('1','1',sysdate);END test_proc;
目标系统里的日志记录表如下:
- SQL code
CREATE TABLE LOG_INFO( PROC_NAME VARCHAR2(20 BYTE), ERROR_INFO VARCHAR2(1000 BYTE), OP_DATE DATE,-- STATUS NUMBER(8 BYTE) 目前该字段还未加入)
目前的问题是,我定义的POP.EMP 接口执行完成了,其中的存储过程也是现实被执行了的,但是在目标表log_info里面没有数据插入,不知道我在知识模块里新加的那个步骤是不是有问题呢,求大神们帮助...
知识模块里新增的步骤如下:
这一步骤的详细:
执行结果:
没有报错,也没有数据插入,不明白。
PS:在网上找资料说ODI知识模块的开发 要先用jython语言开发 然后再通过工具编译成SQL,小弟没接触过Jython,也没试过他说的方法,更不知道这具体怎么做,望高手指点...
------解决方案--------------------
实现增量更新还是直接写存储过程吧 一个Merge语句就搞定了...IKM的二开没那么容易,不然别人ORACLE怎么收服务费,怎么赚钱呢...