千家信息网

sqlloader外部表

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,一创建目录先在系统下创建$ cd /home/oracle$ mkdir dir$ cd dir$ pwd再在sqlplus里创建,让oracle知道这个目录SQL> createdirectory
千家信息网最后更新 2024年12月12日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.data360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr363,Alex,Alda,AC_MGR,145,17-MAY-2001,9000,.15,80,aalda401,Jesse,Cromwell,HR_REP,203,17-MAY-2001,7000,0,40,jcromwel402,Abby,Applegate,IT_PROG,103,17-MAY-2001,9000,.2,60,aapplega403,Carol,Cousins,AD_VP,100,17-MAY-2001,27000,.3,90,ccousins404,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 a8col c3 for a10col c4 for a10col c10 for a10selectc1,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.ctlload datainfile'prod_my.data'appendinto table scott.ldrfields 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:代表可以将空行干掉

(由于回车产生,也就是空行)


代表 数据 之间 实体 引号 文件 目录 空行 逗号 解释 一句话 一行 也就是 位置 信息 分号 参数 数据库 源文件 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 byte 数据库类型 评审化学危险品安全数据库 深圳程序软件开发怎么样 数据库按降序查询命令 软件开发工程师职位缩写 街道网络安全处置记录 江河创建集团软件开发 蓝盟it数据库默认设置 金仓数据库查看笨笨版本 网络安全防范体系的重要性 数据库介质故障 河北开源软件开发制作 阿里云服务器绑定域名生效要多久 地平线5创建车队服务器发生错误 哪儿 有关于软件开发的书 岗位序列 数据库 matlab连接数据库 网络安全在企业中物理安全 创建数据库怎么设置编码 网络安全心里活动游戏 网络安全十大公司排名 oracle数据库符号提取 金山区网络营销软件开发价格表格 危害无线网络安全 我的世界近期开的服务器手机版 有哪些简单的网络安全实验 游戏服务器与以太坊 河北人工智能软件开发定制费用 怎么将文件传入数据库 大一信息技术数据库试题整理
0