1、进入sql*loader
C:\>sqlldr scott/tiger@test1 control=d:\ctl2.txt log=d:\L.txt bad=d:\bad.txt
SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 01:52:21 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 1
达到提交点 - 逻辑记录计数 2
control:指定控制文件
log:指定日志文件
bad:记录拒绝记录
2、固定格式导入
SQL> get d:\固定格式_数据文件.txt
1 1,'信息科','3楼'
2 2,'财务科','3楼'
3* 3,'办公室','3楼'
SQL> get d:\固定格式_控制文件.txt
1 load data
2 infile 'd:\固定格式_数据文件.txt'
3 insert into table dt
4 fields terminated by ','
5 (
6 deptno,dname,loc
7* )
SQL> select * from dt;
未选定行
C:\>sqlldr scott/tiger@test1 control=d:\固定格式_控制文件.txt log=d:\固定格式.log bad=固定格式.bad
SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:01:47 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 2
达到提交点 - 逻辑记录计数 3
SQL> select * from dt;
DEPTNO DNAME LOC
---------- -------------- -------------
1 '信息科' '3楼'
2 '财务科' '3楼'
3 '办公室' '3楼'
SQL>
3、自由格式
1、自由格式1
SQL> get d:\自由格式_数据文件.txt
1 11 a
2 99 b
3* 10 c
SQL> get d:\自由格式_控制文件.txt
1 load data
2 infile 'd:\data.txt'
3 append into table dt
4 (
5 deptno position(01:03) char,
6 dname position(04:100) char
7* )
C:\>sqlldr scott/tiger@test1 control=d:\自由格式_控制文件.txt log=d:\自由格式.txt bad=d:\自由格式.bad
SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:10:48 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 2
SQL> select * from dt;
DEPTNO DNAME LOC
---------- -------------- -------------
1 '信息科' '3楼'
2 '财务科' '3楼'
3 '办公室' '3楼'
11 a
99 b
10 c
已选择6行。
2、自由格式2
SQL> get d:\自由格式_数据文件2.txt
1 01,北京|a
2* 02,天津|a
SQL> get d:\自由格式_控制文件2.txt
1 load data
2 infile 'd:\自由格式_数据文件2.txt'
3 append into table dt
4 (
5 deptno char terminated by ',' ,
6 dname char terminated by '|' ,
7 loc char
8* )
C:\>sqlldr scott/tiger@test1 control=d:\自由格式_控制文件2.txt log=d:\自由格式2.txt bad=d:\自由格式2.bad
SQL*Loader: Release 11.2.0.1.0 - Production on 星期日 3月 15 02:16:01 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 1
达到提交点 - 逻辑记录计数 2
SQL> select * from dt;
DEPTNO DNAME LOC
---------- -------------- -------------
1 '信息科' '3楼'
2 '财务科' '3楼'
3 '办公室' '3楼'
11 a
99 b
10 c
1 北京 a
2 天津 a
已选择8行。
SQL>
4、导入日期
SQL> create table emp_t as select empno,ename,hiredate from emp where 1<>1;
表已创建。
SQL> describe emp_t
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
EMPNO NUMBER(4)
ENAME VARCHAR2(10)
HIREDATE DATE
SQL> select * from emp_t;
未选定行
SQL>
SQL> get d:\日期导入_数据文件.txt
1 EMPNO||','||ENAME||','||TO_CHAR(HIREDATE,'YYYY-MM-DD')
2 --------------------------------------------------------------
3 7782,CLARK,1981-06-09
4 7839,KING,1981-11-17
5* 7934,MILLER,1982-01-23
SQL> get d:\日期导入_控制文件.txt
1 options(skip=2)
2 load data
3 infile 'd:\日期导入_数据文件.txt'
4 append into table emp_t
5 fields terminated by ','
6* (empno,ename,hiredate date 'yyyy-mm-dd')
SQL> select * from emp_t;
EMPNO ENAME HIREDATE
---------- ---------- --------------
7782 CLARK 09-6月 -81
7839 KING 17-11月-81
7934 MILLER 23-1月 -82
SQL>
5、控制文件书写格式
1、固定格式:
[options(skip=x)]
load data
infile 'filename'
insert|append|replace(delete form table)|truncate(truncate table table_name) into table table_name
fields terminated by '分隔符'
(column_name1,column_name2,......)
2、自由格式
[options (skip =x)]
load data
infile 'filename'
insert|append|replace(delete form table)|truncate(truncate table table_name) into table table_name
(
column_name char|integer|date terminated by '分隔符'
|
column_name position(01:100) char|integer|date
)