Microsoft Excel as a Source and Target as Oracle in ODI

创建测试表格和目标表

导出scott用户的emp表为EMP.xlsx作为测试的元数据,结果如下

clip_image001

打开EMP.xlsx 公式→定义名称

clip_image002

创建目标表(来自scott.sql)

CREATE TABLE EMP

( EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,2),

DEPTNO NUMBER(2));

定义数据源

控制面板→管理工具→数据源(ODBC)

clip_image003

clip_image004

双击数据源(ODBC)

clip_image005

最终结果如下

clip_image006

配置ODI Studio拓扑结构

上一步我们新建了数据源,现在我们使用ODI Studio创建拓扑结构

新建数据服务器:

clip_image007

配置如下,并测试

clip_image008

新建物理方案:

clip_image009

新建逻辑方案:

clip_image010

新建模型,并逆向工程

clip_image011

报错

clip_image012

原因:C:WINDOWSSysWOW64odbcad32.exe不适odi64.exe

解决办法1:使用C:OracleMiddlewareOracle_HomeodistudioODI.exe

解决办法2:使用C:OracleMiddlewareOracle_HomeodistudioODI.exe

下载64 bit excel/access driver.并安装 下载地址 link.

(http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255 clip_image013)

模型创建成功后,我们就可以看到EMP中的数据了

clip_image014

clip_image015

对目标表也进行逆向工程

clip_image016

新建接口

新建接口Excel_To_Oracle

clip_image017

运行

clip_image018

Caused By: java.sql.SQLException: Invalid Fetch Size

this is a bug in ODI 11.1.1.5.  Oracle has provided a patch to resolve this ( patch number 13528165 ).

解决办法:去拓扑结构,修改数据excel数据服务器EMP的数组提取大小和批处理更新大小为0. 以前的默认值为30

clip_image019

重新运行,可以发现表中已经有数据了。clip_image020

说明:

时间类型的HIREDATE 有问题,做实验的时候,可以去掉该列

参考

http://dwteam.in/microsoft-excel-as-a-source-and-a-target-as-oracle-in-odi-11-1-1-6/

原文地址:https://www.cnblogs.com/xqzt/p/4471993.html