有一文本mydata.txt,将文本中的内容插入数据表T中。
linux 环境下,进入数据库服务器。
执行 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
执行 export ORACLE_SID=你的ORACLE_SID
执行 sqlplus 你的用户名/密码
进入SQL>
首先创建数据表
@createTableT.sql
其中,createTableT.sql文本中的内容是建表语句:
create table T(
myname varchar2(30),
myid varchar2(30)
);
exit退出SQL>模式
执行 sqlldr userid=用户名/密码 control=insertdata.ctl log=insertdata.log rows=1000 bindsize=33554433
rows -- 每次提交的记录数,默认: 常规路径 64, 所有直接路径
bindsize --每次提交记录的缓冲区的大小(字节为单位,默认256000)
其中,insertdata.ctl控制文本中的内容就是将mydata.txt文本中的数据读取,插入表T中。
insertdata.ctl的内容:
load data
infile 'mydata.txt'
insert into table T(
myname char terminated by ',',
myid char terminated by ',')
而mydata.txt文本中的内容为:
张三,1001
李四,1002
孙悟空,1003
孔明,1004