欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-02-22 13:30:26
前言 最近做项目的时候需要导入一批3000多万条的poi数据到oracle数据库,简单的插入导入速度太慢,使用sqlldr 批量导入3000多万条数据花了20分钟左右...

前言

最近做项目的时候需要导入一批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数据库有所帮助,如有有疑问大家可以留言交流。