用SQL*LOADER...
首先要写个CTL文件,
result.ctl内容:
load data
infile 'D:DATAFILE.TXT'
into table TAB
(col1 char terminated by ',',
col2 char terminated by ',',
col3 char terminated by ',',
col4 char terminated by whitespace)
说明:
infile 指数据源文件 这里我们省略了默认的
into table tab 默认是INSERT,也可以into table tab APPEND为追加方式,或REPLACE
terminated by ',' 指用逗号分隔
terminated by whitespace 结尾以空白分隔
col1...col4是填表中具体的列名,如id,name,age...有多少列,自己加上。
数据文件:D:datafile.txt
001,"david",0551-1234567
002,"dave",0551-7654311
最后在装了数据库的机器上的命令提示符窗口执行(如WINDOWS的DOS窗口):
sqlldr userid=fancy/testpass control=result.ctl log=resulthis.out
说明:userid=fancy/testpass 是登陆数据库的用户名/密码 ,control=result.ctl 就是刚才上面写的CTL文件,写绝对路径不会有问题。log这一项是日志,就这样就行。
当加载大量数据时(大约超过10GB),最好抑制日志的产生:
SQL>ALTER TABLE RESULTXT nologging;
首先要写个CTL文件,
result.ctl内容:
load data
infile 'D:DATAFILE.TXT'
into table TAB
(col1 char terminated by ',',
col2 char terminated by ',',
col3 char terminated by ',',
col4 char terminated by whitespace)
说明:
infile 指数据源文件 这里我们省略了默认的
into table tab 默认是INSERT,也可以into table tab APPEND为追加方式,或REPLACE
terminated by ',' 指用逗号分隔
terminated by whitespace 结尾以空白分隔
col1...col4是填表中具体的列名,如id,name,age...有多少列,自己加上。
数据文件:D:datafile.txt
001,"david",0551-1234567
002,"dave",0551-7654311
最后在装了数据库的机器上的命令提示符窗口执行(如WINDOWS的DOS窗口):
sqlldr userid=fancy/testpass control=result.ctl log=resulthis.out
说明:userid=fancy/testpass 是登陆数据库的用户名/密码 ,control=result.ctl 就是刚才上面写的CTL文件,写绝对路径不会有问题。log这一项是日志,就这样就行。
当加载大量数据时(大约超过10GB),最好抑制日志的产生:
SQL>ALTER TABLE RESULTXT nologging;