赞
踩
前言:大数据量的情况下,导入csv文件内容到数据库会很慢,为了节省宝贵的测试时间,需要寻找工具来提高数据导入效率,效率提高工具:sqlload(可将上亿条数据,几分钟内全部导入到oracle数据库,效率非常高)
使用说明:
1、在目标数据库创建导入的表(比如:10.9.215.240 oracle数据库中填写临时表)
CREATE TABLE YG_IS.TEMP
(
order_time date,
pay_time date,
inflow_time date,
order_no VARCHAR2(255),
out_order_no VARCHAR2(255),
warehouse_code VARCHAR2(255),
merchant_code VARCHAR2(255),
business_subject VARCHAR2(255),
order_status VARCHAR2(255),
shop_name VARCHAR2(255),
order_type VARCHAR2(255)
)
2、在部署oracle的服务器上编写sqlload配置文件
vim /data/soft/test.ctl
配置文件内容如下:
load data characterset AL32UTF8 infile '/home/oracle/sql_load/test.csv' # CSV文件路径可以指定多个 replace into table YG_IS.TEMP #删除旧记录(用 delete from table 语句),替换成新装载的记录 fields terminated by ',' #数据中每行记录用 "," 分隔 Optionally enclosed by '"' #数据中每个字段用 '"' 框起,比如字段中有 "," 分隔符时 trailing nullcols #表的字段没有对应的值时允许为空(就是说,如果要导入的字段在这里没有填写,那么它就是null,填写后才会导入该值) ( order_time date "DD/MM/YYYY HH24:MI:SS", pay_time date "DD/MM/YYYY HH24:MI:SS", inflow_time date "DD/MM/YYYY HH24:MI:SS", order_no , out_order_no , warehouse_code , merchant_code , business_subject , order_status , shop_name , order_type )
3、在oracle用户下,执行命令:
进入oracle用户方法:su - oracle
然后执行:sqlldr \'/ as sysdba\' control=/data/soft/sqlload/test.ctl log=test.log;
4、注意事项:
a.导入的数据必须为csv或者为txt格式
b.导入的csv文件的编码格式需要设置成utf-8,否则导入后会出现乱码
c.ctl文件中, into table 的时候,一定要在表名前面加用户名名称,例如:yg_is.temp
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。