一、导入 SQLldr

SQL*LOADER可以把txt文件,Excel文件导入到数据库中。使用SQLloader导入导出需要一个数据文件和一个控制文件。数据文件中存了你需要导入的数据,控制文件中写你需要怎么导入这些数据。

LOAD DATA

infile 'e:\aa.csv' ## 源文件路径,路径不要包括中文

into table xx_temp ## 要导入的表

(

id terminated by whitespace  ## id 为列名,whitespace 表示列之间使用空格来区分,如果是其他的 ‘|’ 方式则使用 terminated by '|' 逗号则用逗号.以此类推

)

## 换行 也是自动终止字段读的标识

其中 impcmd 中 可以被4个值替换分别是insert (缺省默认值),append,replace,truncate

insert: 插入数据,要求表为空

append:追加数据,在原来表的基础上再插入数据

replace :删除原表数据,再插入

truncate:删除原表数据,再插入,比replace 更高效

例如有这么张表

create table salary_tbl(

employer_nm varchar(20) ,

department varchar(20) not null,

salary number not null,

leader_nm varchar(20)

)

新建一个.txt文件用于存数据,可以自定义分隔符来区分字段

新建一个ctl 以字符 ' |' 分割

或者这样写更简便

load data

infile 'data1.txt'

into table SALARY_TBL append

fields terminated by '|'(

employer_nm ,

department ,

salary ,

leader_nm

)

在cmd执行  cd 到对应目录执行 ,执行完后可以查看对应位置log的内容

sqlldr userid=system/voapd@orcl control=control1.ctl log=11.log

在cmd 执行  sqlldr     可以查看sqlldr 的帮助

userid

ORACLE用户名/口令

control

控制文件名

log

日志文件名

bad

错误文件名

data

数据文件名

discard

废弃文件名

discardmax

允许废弃的文件的数目(全部默认)

skip

要跳过的逻辑记录的数目(默认0)

load

要加载的逻辑记录的数目(全部默认)

errors

允许的错误的数目(默认50)

rows

常规路径绑定数组中或直接路径保存数据间的行数(默认:常规路径64,所有直接路径)

bindsize

常规路径绑定数组的大小(以字节计)(默认256000)

silent

运行过程中隐藏消息(标题,反馈,错误,废弃,分区)

direct

使用直接路径(默认FALSE)

parfile

参数文件:包含参数说明的文件的名称

parallel

执行并行加载(默认FALSE)

file

要从以下对象中分配区的文件

skip_unusable_indexes

不允许/允许使用无用的索引或索引分区(默认FALSE)

skip_index_maintenance

没有维护索引,将受到影响的索引标记为无用(默认FALSE)

commit_discontinued

提交加载中断时已加载的行(默认FALSE)

readsize

读取缓冲区的大小(默认1048576)

external_table

使用外部表进行加载;NOT_USED,GENERATE_ONLY,EXECUTE(默认NOT_USED)

columnarrayrows

直接路径列数组的行数(默认5000)

streamsize

直接路径流缓冲区的大小(以字节计)(默认256000)

multithreading

在直接路径中使用多线程

resumable

启用或禁用当前的可恢复会话(默认FALSE)

resumable_name

有助于标识可恢复语句的文本字符串

resumable_timeout

RESUMABLE的等待时间(以秒计)(默认7200)

date_cache

日期转换高速缓存的大小(以条目计)(默认1000)

no_index_errors

出现任何索引错误时中止加载(默认FALSE)

PLEASENOTE

命令行参数可以由位置或关键字指定。前者的例子是'sqlldrscott/tigerfoo';后一种情况的一个示例是'sqlldrcontrol=foouserid=scott/tiger'。位置指定参数的时间必须早于但不可迟于由关键字指定的参数。例如,允许'sqlldrscott/tigercontrol=foologfile=log',但是不允许'sqlldrscott/tigercontrol=foolog',即使参数'log'的位置正确。

------------------------------------------

二、导出spool

在SQLplus 或在SQl命令行 输入

spool c:\test\spool.txt

select st.employer_nm||'|'||st.salary||'|'||st.department from salary_tbl st where LEADER_NM='雇佣者4';

spool off

就可以导出了

此时ctl 文件该怎么写才能正确导入呢 ?

其中 options skip 是选择跳过的行数  ,  顺便使用支持中文导入的字符编码

options(skip=3)

load data

CHARACTERSET ZHS16GBK

infile 'spool.txt'

into table SALARY_TBL truncate

fields terminated by '|'(

employer_nm ,

salary ,

department

)

二、外部表

外部表的数据不装入数据库中,数据库中只存储外部表的定义。实际数据位于操作系统中的平面文件中。外部表只读,可以通过select 进行查询。外部表可以由数据泵引擎生成的外部表。也可以通过文本文件生成的外部表

create table salary_tbl_external(

employer_nm ,

department ,

salary ,

leader_nm

)

organization external -----指明外部表

(

type oracle_datapump --利用数据泵来创建

default directory MY_DIR --D:\DIRTEST1

location ('sal1.dmp','sal2.dmp')

) parallel

as

select salary_tbl.employer_nm,

salary_tbl.department,

salary_tbl.salary,

salary_tbl.leader_nm from salary_tbl

在MY_DIR 文件中有 SAL1.dmp 和SAL2.dmp文件。现在有了dmp文件可以通过外部表来创建外部表

create table salary_tbl_external2(

employer_nm varchar2(20) ,

department varchar2(20),

salary number,

leader_nm varchar2(20)

) organization external(

type oracle_datapump

default directory MY_DIR --D:\DIRTEST1

location ('sal1.dmp','sal2.dmp')

)

利用文本文件来创建外部表  现有txt文件

create directory C_test as 'C:\test';

--使用oracle_loader创建外部表,数据文件中每一行为数据行,字段按照 ‘|'划分

create table salary_tbl_external3(

employer_nm varchar2(20) ,

department varchar2(20),

salary number,

leader_nm varchar2(20)

) organization external(

type oracle_loader

default directory C_test

access parameters(

records delimited by newline

fields terminated by '|'

)

location ('data1.txt')

)

select * from salary_tbl_external3

就可以查询了。

注意: 如果在access parameters 中  注释一些没有用的代码,系统认为这是不符合规则的语句,会产生错误ORA-29913

oracle 外部表装载,Oracle 原理:数据装载 ,SQLldr ,外部表相关推荐

  1. java表单自动绑定数据_java工作流系统表单自动 获取数据

    关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 什么是数据自动获 ...

  2. 将json数据写入html表单,将json数据提交到html表中

    我需要基于json响应构建一个表,调用API时调用API, 调用API并让JSON工作正常,但我没有发现任何有关构建表的文档并从x.js传递给x.html.我成功地从json传递了1个参数/值.将js ...

  3. MySQL 定时任务event 按天建表 并将前一天数据导入新建的表中并删除总表数据 实现分表功能

    需求:实现日志系统保存日志信息到数据库,由于日志信息量巨大,需要每天一张表来管理数据. 思路:总表不能改变,因为代码中SQL语句已经写死,表名不能改变;因此我们每天定时将总表数据导入到新表中,并将总表 ...

  4. jquery表单ajax json数据,jquery序列化form表单使用ajax提交后处理返回的json数据

    1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...

  5. mysql订单表上亿怎么分表_[转]单表上亿的数据量如何分表

    之前的几篇关于分表的,提到的分表策略不够详细,我在这篇中补充一些分表策略吧: 按号段分: (1) user_id为区分,1-1000的对应table1,1001-2000的对应table2,以此类推, ...

  6. Oracle表明明存在SQL查询数据提示表不存在异常

    今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * ...

  7. oracle表 游标,Oracle游标表达式和表函数

    Oracle游标表达式是Oracle数据库中的重要概念,下面就为您详细介绍Oracle游标表达式和表函数方面的知识,供您参考学习之用. Oracle游标表达式(有时称为游标子队列)是 SQL 语言的一 ...

  8. saiku+kettle整合(二)数据装载

    title: saiku+kettle整合(二)数据装载 tags: OLAP4J categories: saiku date: 2016-08-25 18:18:54 数据装载 数据装载分为三种方 ...

  9. oracle stalestats_深入理解oracle优化器统计数据(Optimizer Statistics)

    理解oracle优化器统计数据 首先来介绍oracle数据库使用基于规则优化器(RBO)来决定如何执行一个sql语句.基于规则优化器顾名思义,它是遵循一组规则来判断一个sql语句的执行计划.这组规则是 ...

  10. oracle r修改表名,oracle中修改表名

    <<>> answer1: ALTER TABLE old_table_name RENAME TO new_table_name;(大写为系统命令) answer2: SQL ...

最新文章

  1. 是否顺应互联网大脑的发育趋势决定科技企业兴衰
  2. Spring Data JPA
  3. python中da_python学习 da4
  4. 详解虚函数的实现过程之虚基类(4)
  5. T-SQL 编程之结果集循环处理
  6. 2、Flutter 的安装和idea配置
  7. Centos 安装 jdk 和配置环境变量
  8. Open images from USB camera on linux using V4L2 with OpenCV
  9. 汇编工具安装三:已经配置好的汇编开发工具!
  10. android 实现异步加载图片,Android中ImageView异步加载图片类
  11. 实验8 群体类、流类库与输入/输出(4学时)
  12. 结合工作经历推荐新手编程语言
  13. [转载] Python 列表(List)
  14. http2-frame-WINDOW_UPDATE
  15. Chrome firefox ie等浏览器空格nbsp;宽度不一样
  16. win10字体模糊设置
  17. 接口测试 Jmeter面试题
  18. 多线程小题 —— 设计火车票模拟程序
  19. 6.插入脚注后,正文空一行
  20. Chromium扩展(Extension)的页面(Page)加载过程分析

热门文章

  1. Android开发概要记录
  2. c#加粗代码_c#窗体,选中复选框,文字加粗变绿代码
  3. JavaScript实现Apache .htaccess 转化nginx生成器工具-toolfk程序员工具网
  4. 洛谷2766:[网络流24题]最长不下降子序列问题——题解
  5. 使用jmeter测试工具完成文件的上传
  6. Linux LB 集群知识、如何用 LVS 方式实现 LB 集群?
  7. 设置WPF窗口相对于非WPF窗口的位置
  8. 获取RadioButton选中的值
  9. kaptcha 验证码在spring mvc 中的使用
  10. 【转】MFC下用ADO连接SQL SERVER,保存图片,BLOB