oracle数据加载的几种常用方法

1、sqlldr参数
userid用户名和密码
control控制文件名称
log日志
bad坏信息文件
data数据文件
discard丢弃文件
discardmax允许丢弃数据量,默认全部丢弃
skip跳过逻辑记录,默认为0
load要加载的记录数,默认为全部加载
errors允许出现的错误数,默认为50
rows数组处理时的行数,默认为常规路径64,直接路径全部
bindsize数组大小,最大字节与操作系统有关,大小有参数rows确定,默认为65536字节
silent运行中是否压缩信息
direct是否使用直接路径加载数据,默认为false
parfile参数文件名称,将存储写成为一个文件
parallel是否使用并行加载,默认为false
readsize缓冲区大小,默认为1048576字节

2、固定格式加载实例
(1)创建一个空表
create table test(id number(4),name(varchar2(10));
(2)整理数据文件test.txt,格式如下:
1   dafen1
2   dafen2
3   dafen3


(3)编辑数据文件
load data
infile 'D:/test.txt'
into table test
(id position(01:01) integer external,
name position(03:08) char)

a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
position(03:08)的意思是把每一行的第3个字符到第8个字符的数据插入到name列

(4)调用SQL*LOADER
sqlldr hr/hr control=D:/test.ctl log=D:/log.txt
(5)检查加载结果
select * from test;

3、自由格式加载实例
编辑控制文件test.ctl格式如下:
load data
infile *
into table test
fields terminated by ','
optionally enclosed by ""
(id,name)
begindata
1,"dafen1"
2,"dafen2"
执行命令:
sqlldr hr/hr control=D:/test.ctl

4、将excel数据加载到oracle数据库中
把excel另存为book.txt,在选择格式的时候要选择带制表符的txt文本
编辑控制文件book.ctl格式如下:
load data
infile 'book.txt'
into table test
fields terminated by X'09'
(id,name)
X'09'是table键的意思
 

你可能感兴趣的:(数据库)