Oracle批量导入文本文件快速的方法(sqlldr实现)

前言

最近做项目的时候需要导入一批3000多万条的poi数据到oracle数据库,简单的插入导入速度太慢,使用sqlldr 批量导入3000多万条数据花了20分钟左右,速度还可以,现在分享给大家,具体方法如下:

1.新建导入控制文件 input.ctl,文件内容如下:

load data
characterset utf8
infile 'h:\poi\baidu.txt'
append into table tbl_poi_baidu
fields terminated by ","
optionally enclosed by '""'
trailing nullcols
(poi_name,class_all,addr,phone,tel,longitude,latitude,city,citycode,province,district,street,streenumber,class_1,class_2,class_3,class_4)

2.命令行窗口输入:

sqlldr userid=sde/sde control=input.ctl log=log.out discard=discard.txt errors=1000000 

注意:文件字符集要与oracle服务等字符集一致,建议文件另存为utf-8无bom,导入文件内添加 characterset utf8 ,解决oracle数据导入中文乱码:export nls_lang='simplified chinese_china.al32utf8'

dos环境下文件快速合并: copy *.csv newfile.txt

总结

以上就是这篇文章的全部内容,希望能对大家学习或者使用oracle数据库有所帮助,如有有疑问大家可以留言交流。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐