前一节已经完成了Oracle数据库和ODI的安装,并已经为ODI在Oracle数据库中创建了两个用户,分别用于存放主资料库数据和工作资料库数据,在ODI中完成主资料库和工作资料库的创建,也分别为其创建了登陆用户,最后,登陆到ODI的工作资料库中,在工作资料库中,我们就可以完成数据的集成工作了,下面是一个简单的数据集成工作场景,我们用ODI完成这项工作。

浏览前一节请点此:【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)

4. 工作场景说明

工作场景说明:

业务系统A使用SQL Server2012数据库,数据库名称为A_SRC,有表T_USER,JGH为主键,表结构及数据如下:

业务系统B使用Oracle数据库,实例名为orcl,用户名为B_TAG,有表T_EMP,EID为主键,表结构及数据如下:

用ODI将A系统中表T_USER的数据集成到B系统中的表T_EMP中。

在ODI中完成上面的工作需要经过下面的步骤:

创建物理体系结构》》创建逻辑体系结构》》创建模型》》创建项目》》创建接口》》执行接口。

如果我们要接口能够自动定时、定期执行,就还需求创建代理,用代理完成接口的执行,关于代理的使用,后面再另开一节。

5. 创建物理体系结构

(1)创建源系统物理体系结构(系统A,SQL Server2012数据库,数据库名A_SRC)

ODI登陆到工作资料库>>【拓扑】>>【物理体系结构】>>【技术】>>【Microsoft SQL Server】,单击右键选择【新建数据服务器】。

数据服务器【定义】标签配置界面如下图所示:

数据服务器【JDBC】标签配置界面如下图所示,JDBC驱动程序可以点击文本框后面的放大镜选择,JDBC URL自行输入数据库服务器的IP地址以及端口(SQL Server默认为1433)。

配置完成后,点击ODI的【保存】按钮,系统会弹出要求创建一个物理方案,【确定】即可。

下面为源系统创建物理方案,展开【物理体系结构】下面的【Microsoft SQL Server】,即可看到刚创建的【J_WL_SRC】,单击右键选择【新建物理方案】。

源系统物理方案【定义】标签配置界面如下图所示,输入源系统数据库名称及所有者即可。输入完成后点击保存,系统会弹出没有指定上下文的警告对话框,先忽略之。

(2)创建目标系统物理体系结构(系统B,Oracle数据库,实例名orcl,用户名B_TAG)

ODI登陆到工作资料库>>【拓扑】>>【物理体系结构】>>【技术】>>【Oracle】,单击右键选择【新建数据服务器】。

数据服务器【定义】标签配置界面如下图所示:

数据服务器【JDBC】标签配置界面如下图所示,JDBC驱动程序可以点击文本框后面的放大镜选择,JDBC URL自行输入数据库服务器的IP地址以及端口(Oracle默认为1521)及实例名。

配置完成后,点击ODI的【保存】按钮,系统会弹出要求创建一个物理方案,【确定】即可。下面为目标系统创建物理方案,展开【物理体系结构】下面的【Oracle】,即可看到刚创建的【J_WL_TAG】,单击右键选择【新建物理方案】。

目标系统物理方案【定义】标签配置界面如下图所示,输入目标系统Oracle数据库用户名即可。输入完成后点击保存,系统会弹出没有指定上下文的警告对话框,先忽略之。

OK,物理体系结构已经建立完成,最终结果如下图所示:

6. 创建逻辑体系结构

(1)创建源系统逻辑体系结构(系统A,SQL Server2012数据库,物理方案名J_WL_SRC)

【拓扑】>>【逻辑体系结构】>>【技术】>>【Microsoft SQL Server】,单击右键选择【新建逻辑方案】。

逻辑方案【定义】标签配置界面如下图所示,在上下文对应的地方选中刚创建的源系统物理方案。保存即可。

(2)创建目标系统逻辑体系结构(系统B,Oracle数据库,物理方案名J_WL_TAG)

【拓扑】>>【逻辑体系结构】>>【技术】>>【Oracle】,单击右键选择【新建逻辑方案】。

逻辑方案【定义】标签配置界面如下图所示,在上下文对应的地方选中刚创建的目标系统物理方案。保存即可。

7. 创建模型

(1)创建源系统模型(系统A,SQL Server2012数据库,源表T_USER)

【设计器】>>【模型】>>【新模型】

模型【定义】标签配置如下图:

模型【逆向工程】标签可以勾选要进行逆向工程的对象类型。根据实际情况,一般勾选表和视图即可。

通常源系统数据库中的表比较多,可以在【选择性逆向工程】标签中勾选需求中指定的表进行逆向工程。依据之前设定的工作场景,这里我们只勾选表T_USER,然后直接点击左上角的【逆向工程】按钮,会弹出【确认】对话框,点【是】即可。

逆向工程完成后即可在【模型】>>【J_MX_SRC】里看到表T_USER的结构。

(2)创建目标系统模型(系统B,Oracle数据库,目标表T_EMP)

【设计器】>>【模型】>>【新模型】

模型【定义】标签配置如下图:

同源系统逆向工程操作一样,此处【逆向工程】标签勾选表和视图。

同源系统逆向工程操作一样,在【选择性逆向工程】标签中勾选指定表进行逆向工程。依据之前设定的工作场景,这里我们只勾选表T_EMP,然后直接点击左上角的【逆向工程】按钮,会弹出【确认】对话框,点【是】即可。

逆向工程完成后即可在【模型】>>【J_MX_TAG】里看到表T_EMP的结构。

创建项目、接口,执行接口:【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)

【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(二)的更多相关文章

  1. 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(三)

    资料库的创建.体系结构的创建.模型反向工程都已经完成了,下面就是创建以及执行接口来完成工作了. 浏览前两节请点击: [ODI]| 数据ETL:从零开始使用Oracle ODI完成数据集成(一) [OD ...

  2. 【ODI】| 数据ETL:从零开始使用Oracle ODI完成数据集成(一)

    0. 环境说明及软件准备 ODI(Oracle Data Integrator)是Oracle公司提供的一种数据集成工具,能高效地实现批量数据的抽取.转换和加载.ODI可以实现当今大多数的主流关系型数 ...

  3. 从零开始学习oracle

    引用博客:https://blog.csdn.net/qq_36998053/article/details/82725765 )Oracle之<环境配置> (二)Oracle之<基 ...

  4. 【转】Oracle当中扫描数据的方法

    本文将对oracle当中扫描数据的存取方法进行介绍. 1) 全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限 ...

  5. Oracle ODI系列之一(ODI知识模块)

    Oracle ODI系列之一(ODI知识模块)     ODI简介 ODI(Oracle Data Integrator)前身是Sunopsis Active Integration Platform ...

  6. 基于ETL技术的数字化校园共享数据中心设计

    摘要:数据的抽取.转换与加载(ETL)是数据整合的核心过程.在分析高校信息化建设现状基础上,以建立数字化校园.整合数据资源.实现数据共享为目标,提出以ETL为基础建立共享数据中心实现数据整合的方案.介 ...

  7. 大数据ETL详解

    ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...

  8. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  9. 实现从Oracle增量同步数据到GreenPlum

    简介: GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理. 背景: 目前有一个业务是需 ...

随机推荐

  1. 关于国际化时报org.springframework.context.NoSuchMessageException错,具体到No message found under code '你的键名' for locale 'zh_CN'.的解决方案

    使用IntelliJ IDEA开发工具解决方案: 总结原因,解决方案: 1,在使用messageSource.getMessage方法时,参数1的键名跟属性文件中键名不一致,比如Controller中 ...

  2. 拿到月薪30K,必选一些Python好书!

    论述: Python是所有编程语言中与人工智能最紧密相连的编程语言,阿尔法狗都在使用的 Python 语言. 教育部早在两个月前(自2018年3月起)就以及公布:大学生全国计算机二级考试中必考Pyth ...

  3. VS下使用Google Protobuf完成SOCKET通信

    如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信 出处:如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信 最近一 ...

  4. Python 基础【一】

    python运行流程 一.变量及注释 命名: 合法-变量名由字母.数字和下划线组成,并且不能以数字开头.以下保留字不可以当变量名: ['False', 'None', 'True', 'and', ' ...

  5. ImportError: cannot import name webdriver

    遇到问题: 学习selenium过程中为了方便自己知道学习的脚本的存放路径,以selenium命名 起初.py文件都在selenium文件夹下面,使用 from selenium import web ...

  6. 第四章 MySQL数据类型和运算符

    5.1 MySQL数据类型介绍 一.数据类型简介 (1) 数据表由多列字段构成,每一个字段指定了不同的数据类型,指定了数据类型之后,也就决定了向字段插入的数据内容 (2) 不同的数据类型也决定了 My ...

  7. 在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示

    在Visual Studio中使用Debug Visualizers在C++中实现对原始类的自定义调试信息显示 当我们在VS的C++中使用vector.list.map等这些STL容器,在开启调试的时 ...

  8. Nginx安装及配置

    Nginx是一款速度快,功能强大的http以及反向代理服务器,经过简单的配置之后即可以用来托管页面. 不幸的是,和很多其他系统管理工具一样,相关的原理教程和配置说明文档都很少.虽然官方提供了一个wik ...

  9. String的charAt(int index)可用于遍历一个字符串的所有字符

    charAt(int index)遍历一个字符串的所有字符实例 String name = "Whatisjava?"; for (int i = 0; i < name.l ...

  10. 对混合数值,字符,null的字段进行排序

    今天有个需求是进行排序.  这一列值是字符串类型的, 但是里面有数值型 比如"1" 和null类型的.  实现效果是需要 数值型的先按照数值的方式先排,然后字符串按照字符传排,最后 ...