oracle如何快速导入导出文本格式数据
导出
工具:sqluldr2
工具说明:sqluldr2再以安装oracle客户端的环境下下无需再安装其它软件,只需将对应的软件包拷贝至对应目录,即可运行导出数据
导出示例:
--linux环境导出示例:
/data/oracleloaddata/binluldr2_linux64_10204.bin USER=user/passwd@ip:port/sid charset=AL32UTF8 QUERY="select /*+ parallel(2) */ * from zxjs.TMP_SJXQ_EDUCATION_20161108" log=/data/oracleloaddata/loadout/TMP_SJXQ_EDUCATION/TMP_SJXQ_EDUCATION_20161108.log table=TMP_SJXQ_EDUCATION_20161108 head=yes FILE=/data/oracleloaddata/loadout/TMP_SJXQ_EDUCATION/TMP_SJXQ_EDUCATION_20161108.txt
--windows环境导出示例:
D:\huzhijuan\sqluldr264.exe USER=user/passwd@ip:port/sid QUERY="select /*+ parallel(2) */ * from zxjs.T_ORANGE_SCORE_V7" log=D:\huzhijuan\T_ORANGE_SCORE_V7_20161013.log table=T_ORANGE_SCORE_V7 head=yes FILE=D:\huzhijuan\T_ORANGE_SCORE_V7_20161013.txt
参数说明:
USER:数据连接串user/pwd@sid
charset:导出文件字符集设置
QUERY:导出语句设置
log:导出日志存放路径
table:指定导出表
FILE:指定导出文件路径
导入
工具:sqlldr
工具说明:sqlldr是oracle客户端自带工具,装好oracle客户端就可以使用
导入示例:
--no.1 查看要导入的表结构
create table TMP_SJXQ_EDUCATION_20161108
(
id VARCHAR2(200),
school VARCHAR2(200)
);
--no.2 编写ctl文件
vi input_EDUCATION.ctl
load data
CHARACTERSET AL32UTF8
infile "/home/oracle/tmp_for_mysqldata/cis_info_pnl_edu_verify_20161108.txt"
append into table TMP_SJXQ_EDUCATION_20161108
fields terminated by ","
OPTIONALLY ENCLOSED BY '"'
trailing nullcols
(
id integer external,
school integer external
)
--no.3 执行导出命令
sqlldr user/passwd@ip:port/sid control=/home/oracle/tmp_for_mysqldata/input_EDUCATION.ctl log=/home/oracle/tmp_for_mysqldatalldr-2016110801.log
工具介绍:
命令格式:
sqlldr username/password@sid control=*.ctl
*.ctl文件说明:
load data 告诉SQLLDR要做什么(在这个例子中,则指示要加载数据)。SQLLDR还可以执行CONTINUE_LOAD,也就是继续加载。只有在继续一个多表直接路径加载时才能使用后面这个选项
infile "d://test.txt" 外部数据文件,如果是*号,这会告诉SQLLDR所要加载的数据实际上包含在控制文件本身上,可以使用一个命令行参数覆盖这个INFILE语句。
命令行选项总会涵盖控制文件设置
infile "d://test1.txt" 可指定多个数据文件
append into table test 向表中追加数据
insert 向表中插入值,但要求表开始时为空,默认的加载选项
replace delete表中的数据,然后插入新值,记录多时速度慢
append 向表中追加数据
truncate trunctate表,然后插入新值,不能回退
fields terminated by "," 外部文件的数据以“,”分隔
OPTIONALLY ENCLOSED BY '"' 部分字段可以用双引号包起来
trailing nullcols 表中的字段没有对应的值时填充空值
(
id integer external, integer external 表示插入的数据是string,如果只保留integer,表示插入的数据是二进制
name "upper(:name)", 将插入的值转换为大写
con ":id||:name", 表中CON列的值是ID和NAME的组合值
dt date"yyyy-mm-dd" 插入日期型数据
)
最新文章
- 让div支持placeholder属性/模拟输入框的placeholder属性
- 修复 XE8 FMX TGridLayout 容器自动计算宽度及高度的问题
- 单片机TM4C123学习(八):SPI接口D/A
- 在生产环境使用Docker部署应用
- search in 2d matrix and serach minimum in rotated array
- Xamarin.iOS项目编译提示Could not AOT the assembly
- 2.4.2电子书fb.c文件
- 利用jQuery npoi插件 asxh一般处理文件实现excel的下载
- poj 2778 DNA Sequence AC自动机
- linux防火墙开启-关闭
- webpack入门篇--1.简单介绍
- kubernetes进阶之二:概述
- 方程的解_NOI导刊2010提高
- springboot学习一:快速搭建springboot项目
- 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?
- const关键字的作用
- python进阶之 进程&;线程区别
- PAT A1018 Public Bike Management (30 分)——最小路径,溯源,二标尺,DFS
- Java Socket NIO入门
- Javaweb学习(二):Http通信协议