一创建目录

先在系统下创建

$ 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外部表的更多相关文章

  1. oracle外部表

    关于外部表的描述 正确描述 the create table as select statement can be used to upload data into a normal table in ...

  2. Oracle数据加载之外部表的介绍

    环境: 服务端:RHEL6.4 + Oracle 11.2.0.4 目录: 一. 创建外部表 1.1 创建外部表需要的目录 1.2 创建外部表 1.3 创建外部表源文件 1.4 查询外部表 二. 加载 ...

  3. Oracle的外部表

    一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...

  4. 如何利用Oracle外部表导入文本文件的数据

    同事最近在忙数据一致性比对工作,需要对不同文本文件中的数据进行比对,有的文件较大,记录较多,如果用普通的文本编辑器打开的话,很显然,会很卡,甚至打不开. 基于此,可将该文本文件的数据导入到数据库中,在 ...

  5. ORACLE外部表总结

    外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表 ...

  6. hive 内部表和外部表的区别和理解

    1. 内部表 create table test (name string , age string) location '/input/table_data'; 注:hive默认创建的是内部表 此时 ...

  7. 【转】Hive内部表、外部表

    hive内部表.外部表区别自不用说,可实际用的时候还是要小心. 1. 内部表: create table tt (name string , age string) location '/input/ ...

  8. hive外部表的建立与数据匹配

    1.建立hive的外部表匹配hdfs上的数据 出现如下报错: hive (solar)> ; OK Failed with exception java.io.IOException:java. ...

  9. hive内部表、外部表、分区表、视图

    1.Table 内部表 1).与数据库中的Table在概念上是类似的 2).每一个Table在Hive中都有一个相应的目录存储数据 3).所有的Table数据(不包括 External Table) ...

随机推荐

  1. Kali-linux安装之后的简单设置--转载

       1.更新软件源:修改sources.list文件:leafpad /etc/apt/sources.list然后选择添加以下适合自己较快的源(可自由选择,不一定要全部): #官方源deb htt ...

  2. li里元素都浮动 li 在IE6 7 下方会产生4px间隙问题

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 怎么把一个int数组转化为char型数组??

    /* 234 Press any key to continue */ #include <stdio.h> int main() { ,n; ]; ; num; ++n) { s[n] ...

  4. webapp之路--之必备知识

    移动设备的用户越来越多,每天android手机的激活量都已经超过130万台,所以我们面向移动终端的WebAPP也开始跟进了.本文主要介绍webapp的开发与调试的相关知识和经验,以及给出几种可选的解决 ...

  5. unbtun python tab补全

    在使用python的时候有时候总是忘记很多代码,这个是作为程序袁最头疼的事情,本人也是刚刚接触python,这几天也是用到这块,所以记录下来,已被需要时能够找到. 我的系统是:  w@w:~$ una ...

  6. Moocryption

    Moocryption 题目描述 Unbeknownst to many, cows are quite fond of puzzles, particularly word puzzles. Far ...

  7. CodeForces 616A Comparing Two Long Integers

    水题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; +; ...

  8. Lumen 配置、重写、404错误等

    1.权限是否有设置为777: 2.app key是否有设置: 3.apache下是否有开启重写,a2enmod: 4.nginx下server的location是否配置正确,重写规则有没添加,rout ...

  9. KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释(转)

    源:KEIL MDK 查看代码量.RAM使用情况--RO-data.RW-data.ZI-data的解释 KEIL RVMDK编译后的信息 Program Size: Code=86496 RO-da ...

  10. php中使用mysql_fetch_array输出数组至页面中展示

    用的是CI框架,很好的MVC结构 在Model层 public function showProteinCategory(){ $sql = "SELECT DISTINCT protein ...