sqlloader好像是导入工具,你可以在PL/SQL中导出数据,也可以利用其他工具实现。我整理的也有sqlloader导入数据的方法,希望对你有帮助。
我的操作:
1.确定数据库中的表要与要插入的表的字段一致。
2.进入CMD,输入:“D:”回车;输入:cd D:\app\admin\product\11.2.0\dbhome_1\BIN(Oracle数据库的安装目录)。
3.编辑控制文件,最后用ctl文件格式。
[sql] view plain copy
options (skip = 1,rows = 128) --skip=1 用来跳过数据中的第一行
-- rows 默认是64,你可以根据实际指定更合适的 ROWS 参数来指定每次提交记录数。
LOAD DATA
INFILE 'E:\test\T_ORDER_DETAIL.csv' --指定外部数据文件,可以写多个 INFILE
("another_data_file.csv" 指定多个数据文件)
--BADFILE 'E:\test\T_ORDER_DETAIL.bad' (BADFILE来指定坏数据,可以不写)
--DISCARDFILE E:\test\T_ORDER_DETAIL.dis'(DISCARDFILE指定丢弃数据文件,可以不屑
append
INTO TABLE scott.T_ORDER_DETAIL --目标表SCOTT.ORDER_DETAIL
fields terminated by ',' --导入的数据每行记录用“,”分隔符(X'09'是制表符分割)
Optionally enclosed by '"' --导入数据每个字段用’”‘定界符
--trailing nullcols 表的字段没有对应值时允许为空,可选
(
OID,
PRODUCTID,
CNT,
PRICE
)
4.编辑日志文件和数据文件和控制文件
control='D:\test\T_ORDER_DETAIL.ctl'
data='D:\test\T_ORDER_DETAIL.csv'
log='D:\test\log.log'
5.Oracle数据库文件下:输入“sqlldr 用户名/密码@orcl(或者IP) control ='D:\test\T_ORDER_DETAIL.ctl'data='D:\test\T_ORDER_DETAIL.csv' log='D:\test\log.log'
测试过,没问题。