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数据库有所帮助,如有有疑问大家可以留言交流。
相关推荐
-
Oracle sqlldr导入一个日期列实例详解
Oracle sqlldr导入一个日期列实例详解 1. LOAD DATA INFILE * INTO TABLE test FIELDS TERMINATED BY X'9' TRAILING NULLCOLS ( c2 "upper(:c2)", c3 date "yyyymmdd", c1 "SEQ_test_c1.nextval" ) BEGINDATA AAAAAAAAAA 20051201 BBBBBBBBBB 20050112 CR
-
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 ","
-
ORACLE批量导入图片到BLOB字段代码示例
要插入图片的表不是固定的,而且是批量插入很多张,还要考虑到因为图片的文件名错误,修改后要再次插入,此时应避免已经插入的重复执行操作, 浪费时间. 所以就选择先用一张临时表来暂时保存从文件系统读取的照片,用DBMS_LOB的方法来处理. 第一步:创建一个数据库可以访问的目录(注意:这个目录是数据库服务器上的目录,不是客户机上的) -- Create directory create or replace directory 图片目录 as 'E:\照片'; 第二步:将图片文件放入刚建好的目录下面,
-
Python批量修改文本文件内容的方法
Python批量替换文件内容,支持嵌套文件夹 import os path="./" for root,dirs,files in os.walk(path): for name in files: #print name if name.endswith(".html"): #print root,dirs,name filename=root+"/"+name f=open(filename,"r") fileconten
-
php pdo oracle中文乱码的快速解决方法
在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PATH=/usr/include/oracle/12.1/client64 LD_LIBRARY_PATH=$ORACLE_HOME/lib #remember this is the client NLS_LANG not the server one NLS_LANG=FRENCH_FRANCE.
-
layui 上传文件_批量导入数据UI的方法
使用layui的文件上传组件,可以方便的弹出文件上传界面. 效果如下: 点击[批量导入]按钮调用js脚本importData(config)就可以实现数据上传到服务器. 脚本: /*** * 批量导入 * config.downUrl 下载模板url * config.uploadUrl 上传文件url * config.msg * config.done 上传结束后执行. */ function importData(config){ var default_config = { msg:"数
-
oracle数据库导入导出命令使用方法
最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命令:1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称.dmp 复制代码 代码如下: exp jm110/jm110@120_2 tables=ajb file=d:\ajb.dmp 多张表: 复制代码 代码如下: exp jm110/jm110@120_2 tables=(ajb,jjdwb) file=d:\ajb2
-
java使用POI批量导入excel数据的方法
一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 二.所需jar包: 三.简单的一个读取excel的demo 1.读取文件方法 /** * 读取出filePath中的所有数据信息 * @param filePath excel文件的绝对路径 * */ public static void getDataFromExcel(String filePath) { //String fileP
-
在Oracle中导入dmp文件的方法
项目开始拿到了dmp文件,数据库用的是10g的,但是尽然没导成功,后来想可能导出的时候用11导出的,决定试一下. 正好自己的机器是11的客户端,结果不识别imp命令,到安装目录下的bin文件夹下看尽然没有imp执行文件.可能装客户端的时候没选管理者装. 怎么办呢,从别的11的bin目录下的imp文件拷贝了一个放到了自己的bin下.执行还是出错,No message file for product = RDBMS,-- 类似这样的message,网上查了一下说拷一个[RDBMS\mesg]的内容
-
python创建文本文件的简单方法
python open() 函数以指定模式打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写. w 模式表示打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除.如果该文件不存在,创建新文件. write() 方法用于向文件中写入指定字符串.在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的. 实现代码: #!/usr/bin/python # -*- coding:utf-8 -*- file = o
-
oracle数据库导入TXT文件方法介绍
客户端连接数据库导入 1. 安装有oracle客户端,配好监听. 2. 以oracle数据库app用户的表user_svc_info为例 <span style="color:#3333ff;">CREATE TABLE USER_SVC_INFO( PHONE varchar2(20) NOT NULL, SVC_ID varchar2(32) NOT NULL, P_USERNAME varchar2(100) NULL, USER_STATUS number NOT
随机推荐
- 利用.net控件实现下拉导航菜单制作的具体方法
- DOS多媒体播放器MPXPLAY的命令行参数大全
- 利用docker-compose搭建AspNetCore开发环境
- JS只能输入数字或数字和字母等的正则表达式
- Asp.Net Core轻量级Aop解决方案:AspectCore
- JavaScript实现MIPS乘法模拟的方法
- PHP goto语句简介和使用实例
- linux文本过滤grep基础命令介绍(5)
- 用JSP实现的一个日历程序
- Instagram提升PostgreSQL性能的五个技巧
- 基于jQuery插件实现点击小图显示大图效果
- 读jQuery之十三 添加事件和删除事件的核心方法
- iis resin使iis支持jsp
- Python中的进程分支fork和exec详解
- Android ListView分页功能实现方法
- java学习:日期的运算代码
- 浅谈springboot 属性定义
- Android显示网络图片实例
- swift中defer几个简单的使用场景详解
- Laravel框架学习笔记之批量更新数据功能