最近新客户要求,以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条

到此测试完毕。

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

  1. 关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

    在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 ...

  2. mysqldump 导出统一限制每张数据表导出的记录数

    mysqldump 导出统一限制每张数据表导出的记录数 在工作过程中,需要将生产的数据导出到本地开发环境,我希望可以导出部分数据.而服务器数据量比较大(上千万),如果选择直接从服务器导出数据, 正在运 ...

  3. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...

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

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

  5. oracle:查询数据表是否存在

    oracle:查询数据表是否存在 select count(*) as NUM from all_tables where table_name = '{$table}' 或者: select cou ...

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

    linux mysql 数据库操作导入导出 数据表导出导入 1,数据库导入 mysql -uroot -p show databases; create database newdb; use 数据库 ...

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

    该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文<Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件>中通过Java代码实现调用该脚本并传入参数. #! ...

  8. Oracle导入数据无法导出空表的问题

    Oracle 11G在用export导出时,空表不能导出,11G R2中有个新特性,当表无数据时,不分配segment,以节省空间. 那么我们应该如何导出空表: 利用如下语句生成alter语句,未每个 ...

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

    1.准备导入数据的excel文件 注意:excel列名和数据表列名必须相同,excel文件sheet2和sheet3可以删除 1)excel文件格式 2)数据表格式 2.打开pl/sql ,找到工具- ...

随机推荐

  1. Essential C#读书笔记

    Essential C#读书笔记 这是一个多变的时代,一次又一次的浪潮将不同的人推上了巅峰.新的人想搭上这一波,同时老的人也不想死在沙滩上.这些年新的浪潮又一次推开,历史不停地重复上演,那便是移动互联 ...

  2. c#中关于String、string,Object、object,Int32、int

    在java中,string和String有着明显的区别,后者就是前者的一个封装.在c#中,好像是通用的,大部分情况下,两者互换并不会产生问题.今天特意查了一下资料,了解了一下两者的关系. 简单的讲,S ...

  3. IP数据报是如何在网络中转发的?

    首先发送方抽取目的站的网络前缀,来判断是否目的站是否位于同一网络上,如果在二者有相同的网络前缀,则,直接使用直接交付的方式, 否则,使用由路由器互连的间接交付,这要借助IP路由表,采用表驱动法,路由表 ...

  4. Oracle 高级查询、事物、过程及函数

    一.Sql函数 1.数值函数(输入参数和返回值都是数值型,多数函数精确到38位) --多少次方 ,) from dual; --开方 ) from dual; --绝对值 ) from dual; - ...

  5. [原]MobileSubstrate 工作流程

    [附-腾讯安全管家替换 MobileSubstrate 的流程] com.qq.mqqsecure.deb-postinst--->QSCommand--->QSTempRunner

  6. OSGI原形(.NET)

    OSGI原形(.NET) 目前只做了基础的功能,比如: 各个模块单独的AppDomain容器 Activator激活 导出的服务检查 不过,虽说这样,但目前的这个版本已经能实现模块分离.互相依赖调用等 ...

  7. uva 408 Uniform Generator

    Uniform Generator  Computer simulations often require random numbers. One way to generate pseudo-ran ...

  8. Java 多线程系列

    要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问. Java中的主要同步机制是关键字synchronized,它提供了一种独 ...

  9. Google论文之三----MapReduce

    Google论文之三----MapReduce MapReduce:大型集群上的简单数据处理 摘要 MapReduce是一个设计模型,也是一个处理和产生海量数据的一个相关实现.用户指定一个用于处理一个 ...

  10. hdu2534-Score

    http://acm.hdu.edu.cn/showproblem.php?pid=2534 由题知, 每一个数据都可以由ax +by组成: ax1 + by1 - c x2 a - d y2 == ...