一、sqlldr控制文件及参数说明:
control文件:test.ctl
load data
CHARACTERSET 'UTF8' //指定字符集为UTF-8,解决数据库乱码问题
infile 'D:\dat\test.dat' //指定数据文件位置
truncate into table table_name //指定装载方式和导入数据的表
fields terminated by ',' optionally enclosed by '"' //字段之间的分隔值为逗号,界定符号为""
TRAILING NULLCOLS //没有值的字段设置为空,解决空值问题
(
column1,
column2,
column3,
...
)
导入命令:
sqlldr user/password control=test.ctl skip=1 load=200000 errors=100 rows=1000 bindsize=33554432
参数说明:
user/password //数据库的用户名密码
control //sqlldr控制文件位置
skip=1 //表示跳过第一行,从第二行开始导入
load=200000 //表示并不导入所有的数据,只导入跳过skip参数后的200000条数据
rows=1000 //表示一次加载的行数,默认值为64,此处设置为1000
errors=100 //表示出错100次后,停止加载
bindsize=33554432 //表示每次提交记录缓冲区的大小,默认256k
二、sqluldr2导出数据
例子:每个数值以#间隔,每行数据以0x0d0x0a间隔
sqluldr2 hr/hr123@127.0.0.1:1521/XE query="select vip_card from bb_user_t" table=temp_001 mode=APPEND record=0x0d0x0a field=# head=yes file=D:\sqluldr2\temp_001.txt