sqlloader外部表
一创建目录
先在系统下创建
$ cd /home/oracle
$ mkdir dir
$ cd dir
$ pwd
再在sqlplus里创建,让oracle知道这个目录
SQL> createdirectory dir as '/home/oracle/dir';
最后授权
SQL> grant all ondirectory dir to public;
二创建数据源文件
$ cd dir
$ vi prod_my.data
360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus
361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper
362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr
363,Alex,Alda,AC_MGR,145,17-MAY-2001,9000,.15,80,aalda
401,Jesse,Cromwell,HR_REP,203,17-MAY-2001,7000,0,40,jcromwel
402,Abby,Applegate,IT_PROG,103,17-MAY-2001,9000,.2,60,aapplega
403,Carol,Cousins,AD_VP,100,17-MAY-2001,27000,.3,90,ccousins
404,John,Richardson,AC_ACCOUNT,205,17-MAY-2001,5000,0,110,jrichard
查看
$ cat prod_my.data
三创建外部表external
CREATE TABLEscott.prod_my(
c1 number(5),
c2 varchar2(20),
c3 varchar2(20),
c4 varchar2(30),
c5 number(5),
c6 date,
c7 number(8,3),
c8 number(5,2),
c9 number(5,2),
c10 varchar2(30)
)
ORGANIZATION EXTERNAL (TYPE ORACLE_LOADERDEFAULT DIRECTORY dir
ACCESS PARAMETERS(FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
MISSING FIELD VALUES ARE NULL)
LOCATION('prod_my.data'));
解释
FIELDS TERMINATED BY"," 代表列与列之间用 ","单引号分割
OPTIONALLY ENCLOSED BY"" 代表列值是一句话用("")双引号引起来
MISSING FIELD VALUES ARENULL 代表(,,)逗号与逗号之间可以是空值
四查询外部表
col c2 for a8
col c3 for a10
col c4 for a10
col c10 for a10
selectc1,c2,c3,c5,c6,c7,c8,c9 from scott.prod_my;
C1 C2 C3 C5 C6 C7 C8 C9
---------- ------------------ ---------- --------- ---------- ---------- ----------
360 Jane Janus 121 17-MAY-01 3000 0 50
361 Mark Jasper 145 17-MAY-01 8000 .1 80
362 Brenda Starr 200 17-MAY-01 5500 0 10
363 Alex Alda 145 17-MAY-01 9000 .15 80
401 Jesse Cromwell 203 17-MAY-01 7000 0 40
402 Abby Applegate 103 17-MAY-01 9000 .2 60
403 Carol Cousins 100 17-MAY-01 27000 .3 90
404 John Richardson 205 17-MAY-01 5000 0 110
select* from scott.prod_my; 查看全部信息
然后将外部表导入到数据库中
一先创建实体的表
CREATE TABLEscott.ldr(
c1 number(5),
c2 varchar2(20),
c3 varchar2(20),
c4 varchar2(30),
c5 number(5),
c6 date,
c7 number(8,3),
c8 number(5,2),
c9 number(5,2),
c10 varchar2(30)
);
二再创建sqlloader控制文件
$ cd dir
$ vi ldr.ctl
load data
infile'prod_my.data'
append
into table scott.ldr
fields terminated by','
optionally enclosedby '"'
TRAILING NULLCOLS
(
c1,
c2,
c3,
c4,
c5,
c6,
c7,
c8,
c9,
c10
)
开始导入
/u01/app/oracle/product/11gr2/db_1/bin
[oracle@HE3bin]$ ./sqlldr scott/tiger control='/home/oracle/sqlloader/ldr.ctl'log='/home/oracle/sqlloader/ldr.log'
第一步先问文件的位置查处后,修改 infile【/home/oracle/dir/prod_my.data】
第二步再创建实体的表建立后输入表名 into table 【scott.ldr】
第三步在infile 'prod_my.data'下面,加入一个参数【append】
第四步增加一行TRAILING NULLCOLS,
注意:最后不要加【 ; 】分号结束,否则会报错
解释
append:代表如果表里有数据可以继续添加
TRAILINGNULLCOLS:代表可以将空行干掉
(由于回车产生,也就是空行)
sqlloader外部表的更多相关文章
- oracle外部表
关于外部表的描述 正确描述 the create table as select statement can be used to upload data into a normal table in ...
- Oracle数据加载之外部表的介绍
环境: 服务端:RHEL6.4 + Oracle 11.2.0.4 目录: 一. 创建外部表 1.1 创建外部表需要的目录 1.2 创建外部表 1.3 创建外部表源文件 1.4 查询外部表 二. 加载 ...
- Oracle的外部表
一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...
- 如何利用Oracle外部表导入文本文件的数据
同事最近在忙数据一致性比对工作,需要对不同文本文件中的数据进行比对,有的文件较大,记录较多,如果用普通的文本编辑器打开的话,很显然,会很卡,甚至打不开. 基于此,可将该文本文件的数据导入到数据库中,在 ...
- ORACLE外部表总结
外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表 ...
- hive 内部表和外部表的区别和理解
1. 内部表 create table test (name string , age string) location '/input/table_data'; 注:hive默认创建的是内部表 此时 ...
- 【转】Hive内部表、外部表
hive内部表.外部表区别自不用说,可实际用的时候还是要小心. 1. 内部表: create table tt (name string , age string) location '/input/ ...
- hive外部表的建立与数据匹配
1.建立hive的外部表匹配hdfs上的数据 出现如下报错: hive (solar)> ; OK Failed with exception java.io.IOException:java. ...
- hive内部表、外部表、分区表、视图
1.Table 内部表 1).与数据库中的Table在概念上是类似的 2).每一个Table在Hive中都有一个相应的目录存储数据 3).所有的Table数据(不包括 External Table) ...
随机推荐
- JS动态生成<style>
var nod = document.createElement(“style”), str = “body{background:#000;color:#fff} a{color:#fff;text ...
- Ant自动构建
Ant+jenkins+tomcat <project name="buildWar" default="clean"> <property ...
- Altera CYCLONE III FPGA BGA布线
最近在做altera FPGA BGA相关的布线工作,收集了一些资料,公开出来以供大家讨论. 首先是器件引脚,只有弄清楚器件各个引脚的功能才能够进行布线,下面的文档详细描述了每个引脚的功能. 各引脚功 ...
- 哈夫曼树压缩C#算法(huffman)
算法原理:http://www.cnblogs.com/skywang12345/p/3706833.html. 上代码: using System; using System.Collections ...
- (中等) HDU 5293 Tree chain problem,树链剖分+树形DP。
Problem Description Coco has a tree, whose vertices are conveniently labeled by 1,2,…,n.There are ...
- Sematic库系列一
最近在做项目时采用了sematic css 库,由于这个库的资料太少,在做项目中遇到很多问题,在这里做一些记录 1. 下拉框demo HTML 代码 <div class="field ...
- TCP/IP协议头部结构体(网摘小结)(转)
源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...
- USB自定义HID设备实现-STM32
该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在 #include "usb_desc.h& ...
- Vue.js实例
构造器 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的: var vm = new Vue({ // 选项 })
- HMC5883L地磁传感器驱动
霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域.HMC5883L 包括最先进的高分辨率 HMC118X 系列磁阻传感器,并附带霍 ...