Oracle odi 数据表导出到文件

最近新客户要求,以EXCEL数据方式,将数据表的内容,通过AS2协议传输到客户那边,本来打算使用存储过程直接输出EXCEL,但一想,ODI这么强大的工具应该可以直接进行转换,所以参考了一下官方标准文档,测试成功,好了,不啰嗦了,进行步骤说明:

  1. 建立模型

ODI进行导出,首先要有来源和目的模型,简单说就是FROM---TO

这里我们从视图导出到文件,那么需要建立视图的模型与文件模型。

首先建立文件模型。

建立模型文件夹,名称随便起,这里我叫FILES:

建立模型文件夹后,右键点击模型文件夹FILES,弹出菜单,选择新模型,新建模型

新建模型如下图:定义TAB页中,填入名称,由于是文件模型,所以技术要选File 逻辑方案要选 flat_files_src,其他TAB也可默认不填。

建立完模型后,右键点击,弹出如下菜单,选择新建数据存储:

新建数据存储,如下图:在定义TAB页中,输入名称,资源名称这里选择自己定义的CSV文件。

在文件TABL页中,选择文件格式,输入字段分隔符

在列TAB页中,选择逆向工程,系统自动把CSV文件中的列,读取出来,如下图

CSV格式如下图:这里注意,所有的字段是一列中,用逗号分隔。

到此为止,文件数据存储建立完毕。

下面建立视图的数据存储:

视图存储于文件存储类似:

建立模型:

逆向工程:我这里是视图,如果是表或是别的,可以按需要进行选择,掩码类似于筛选,我视图是以XXCUS_A01开头,所以我只筛选出这个开头的视图。

选择逆向工程:点击后,会出现视图名称,选择新建数据存储

其他TAB可以默认,至此视图数据模型建立完毕。

  1. 建立项目

模型都建立完毕,现在我们建立项目,在定义TAB页中输入名称和代码

新建接口:展开新建的项目,找到接口,右键点击,新建接口,在定义TAB页中,输入名称,注意"临时区域与目标区不同"这个现在是灰色的,现在不能选,必须保存完毕后,才可勾选。

点击接口界面,下方的映射:在映射中,可以看到左边和右边两个框,帮刚才建立的视图数据存储拖到左边,把文件数据存储拖到右边,然后把左边的列,拖到右边的列,进行对应映射设置。

设置流选项:在流TAB中,选择目标区域,在属性检查器中 IKM及选项,参照下图进行设置。

设置完毕保存接口。

  1. 执行测试

选中接口,点击执行按钮,进行测试

在操作中查看执行结果:如下图,看以看到执行成功,插入书799条

到此测试完毕。

时间: 2024-08-29 06:36:14

Oracle odi 数据表导出到文件的相关文章

IT忍者神龟之Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中 2. 建立数据库间的 dblink,然后用 create table B as select * from [email protected] where ...,或 insert into B select * from [email protected] where ... 3. exp A 表,再 imp 到

Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件

本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.HashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import

Shell脚本实现DB2数据库表导出到文件

该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文<Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件>中通过Java代码实现调用该脚本并传入参数. 1 #!/usr/bin/env sh 2 3 DBSCHEMA=$1 4 DBUSER=$2 5 DBPASSWORD=$3 6 TABLENAME=$4 7 FILEPATH=$5 8 DELIMITER=$6 9 EXPORTLIMIT=$7 10 11 SQLERR="NO ERROR MSG&

蜗牛—实体类与数据表的映射文件

Hibernate框架可以根据你写的映射文件直接对你的实体类进行增删改查等等数据库操作.传入的可以是一个实体对象. 首先是我的实体类代码 Position.java package com.attence.entity; public class Position { private int id; private String position_Name; private String desc; public int getId() { return id; } public void se

pl/sql 如何将Excel文件数据导入oracle的数据表?

1.准备导入数据的excel文件 注意:excel列名和数据表列名必须相同,excel文件sheet2和sheet3可以删除 1)excel文件格式 2)数据表格式 2.打开pl/sql ,找到工具---> ODBC导入器 3.选择excel文件,输入用户/密码 4.点击连接,找到磁盘中要导入的文件 5.选择要导入文件的工作表sheet1 6.切换到转入Oracle,选择要导入oracle的那个表 7.点击导入,执行成功,查看结果 原文地址:https://www.cnblogs.com/xie

Mysql数据表导出数据为excel

笔者最近由于公司人员特殊需要,将Mysql数据库中特定表导出为excel格式数据保存.话絮休烦,以下为步骤: 1:cmd打开数据库,mysql -uroot -p 2:选择数据库,要是不知道具体名称:键入命令 SHOW DATABASES; 切换为目标数据库,USE DATABASENAME; 3:选择表,要是不知道具体哪张,键入命令SHOW TABLES; 4:输出:SELECT * FROM tablename INTO outfile 'path', path 为你准备输出目标的路径,笔者

C# DataGirdview手动添加数据,导出txt文件并自动对齐

//DataGirdview手动添加数据 private void btnDataGirdView_Click(object sender,EventArgs e) { dataGridView1.Columns.Add("a","标题1"); dataGridView1.Columns.Add("b","标题2"); dataGridView1.Columns.Add("c","标题3"

[Sqoop]将Hive数据表导出到Mysql

业务背景 mysql表YHD_CATEG_PRIOR的结构如下: -- Table "YHD_CATEG_PRIOR" DDL CREATE TABLE `YHD_CATEG_PRIOR` ( `category_id` int(11) NOT NULL COMMENT '类目ID', `category_name` varchar(250) DEFAULT NULL COMMENT '类目名称', `category_level` int(11) DEFAULT '0' COMMEN

linux mysql 数据库操作导入导出 数据表导出导入

1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库: set names utf8: source  /home/newdb.sql; 1.1 数据库导入第二种 mysql -u用户名 -p密码 数据库名 < 数据库名.sql 1.2 数据库导入数据表 mysql -uroot -p show databases; create database newdb; use 数据库: source /var/ad