源文件是一个文本文件,存放在/home/oracle/fsource目录中。
[oracle@hdp06 ~]$ la /home/oracle/fsource/
-rw-rw-rw- 1 oracle oinstall 4.2M Jan 29 10:00 exam_score.txt
右击ODI Studio->Topology->Logical Architecture->File,选择“New Logical Schema”,如下图:
随便定义个名称,在Definition对话框中选择上述创建物理方案,保存。
1.3 定义源设计模型
首先在目标库上创建对应的表,其次依次定义物理体系结构以及逻辑体系结构。
ODI->Topology->Logical Architecture,右击Oracle,选择”New Logical Schema“,定义一个名称,选择上述创建的Physical Schema,保存。
ODI->Designer->Models->New Model,定义名称,Technology选择Oracle,Logical Schema选择对应的名称,点击保存。
接着点击Reverse Engineer,将表结构同步过来。这里除了目标表以为,rhnuser用户下的所有表结构都会同步一份。
ODI->Designer->Projects->New Project,为工程定义个名称,保存。
右击工程名称下面的Knowledge Modules,选择Import Knowledge Modules,这里的模块/u01/app/oracle/Middleware/odi/sdk/xml-reference路径下,这里选择所有的模块。
Designer > Projects > IMP_F_TBE>First Folder右击Mappings, 选择New Mapping,定义一个名称,接着将源表和目标表拖到映射里面,并通过字段名称进行自动关联。
点击在逻辑结构里点击目标表,将Target的Integration Type设置为Incremental Update(默认为Append),保存。
在物理结构里,点击Default,将Loading Knowledge Module设置为LKM SQL to SQL (Built-In).GLOBAL保存。
右击映射名称,选择RUN,如图:
运行过程可以在Operation->Session里看到,如图:
1、目标表中必须存在主键;
2、如果数据库实例和ODI不在一台机器上,源数据文件必须在各个服务器上的相同位置。因为在加载数据之前,会在数据库实例中定义一个目录指定文件的位置。如果文件不在同一位置,会出现下图中的报错:
1、ODI 12C加载平面文件到oracle数据库
2、ODI 12c - File to Table
Loading Data From File To Table By ODI 12c
原文:http://blog.51cto.com/candon123/2066681