一、SQL*LOADER简介

SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作好的excel表格导入数据库,可以说非常方便。

二、SQL*LOADER使用

1、导入单列数据

导入单列数据不需要写分隔符

create table DF_001_20190118
(
  ID VARCHAR2(30)
)

控制文件配置

cat o_input.ctl
load data
infile 'sql4.txt'
append into table dbadmin.df_004_20190118
(
id position(1:50)
)

导入语句

sqlldr userid=XXXXX/XXXX control=o_input.ctl log=input_001.log bad=input_001.bad

2、导入多行数据

LOAD DATA
INFILE *INTO TABLE BONUSFIELDS
TERMINATED BY ","
(ENAME,JOB,SAL)
BEGINDATA
SMITH,CLEAK,3904
ALLEN,SALESMAN,
2891WARD,SALESMAN,
3128KING,PRESIDENT,252

三、SQL*LOADER控制文件参数

Load DATA
#表示加载数据。
INFILE 'C:\sqlldr\olap.date_time_15_min.txt'
#INFILE指定数据文件,如果是INFILE *,表示加载的数据保存在控制文件中。
INTO TABLE test.date_time_15_min
#数据加载到的具体表名。
APPEND|REPLACE|TRUNCATE
#如果没有这行,默认是INSERT操作,要求表必须为空,TRUNCATE操作非传统意义上的TRUNCATE TABLE DATE_TIME_15_MIN,而是执行TRUNCATE TABLE DATE_TIME_15_MIN REUSE STORAGE操作,这点需要注意。
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
#数据的存储是以,符号作为分割,"符号引起来的表示字符串,这是定界加载,这是最传统的方式,另外还可以定长加载,这里我们不讨论。
TRAILING NULLCOLS
#如果输入的数据不存在某列的数据,SQLLOADER就会为该列绑定一个NULL值。
(APPLIEDTIME "to_date(:appliedtime,'yyyy-mm-dd hh24:mi:ss')",
#以(符号开始表示表的字段,由于是日期字段,所以需要使用函数进行转换,函数必须用双引号引起来,:appliedtime是跟前面的APPLIEDTIME相对应。
applieddate "to_date(:applieddate,'yyyy-mm-dd hh24:mi:ss')",
psvcode,
#如果字段没有指定存储类型,默认为CHAR(255),超过长度会收到Fileld in data file exceeds maximum length的报错,只需要根据长度指定类型,例如,CHAR(1000)。
hzpsvcode,
pointindex,
appliedhour "to_date(:appliedhour,'yyyy-mm-dd hh24:mi:ss')"
)
BEGINDATA
#下面是加载的数据,对应上面的INFILE *设置。

Oracle sqlloader的更多相关文章

  1. oracle sqlloader 用法

    向oracle中导入*.csv文件   1.什么是*.csv,如何得到? 里面存放的是数据表.每行代表数据库表格的一行, 每行中,每两个数据中间由逗号","分割. *.csv可以通 ...

  2. ORACLE SQLloader详细语法

    Oracle   SQL   Loader的详细语法     SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据     ...

  3. sqlloader外部表

    一创建目录 先在系统下创建 $ cd /home/oracle $ mkdir dir $ cd dir $ pwd 再在sqlplus里创建,让oracle知道这个目录 SQL> create ...

  4. oracle工具sqluldr2和sqlldr的使用

    在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:1. 逐条insert -- 只适用少量数据更新 ALTER TABLE order_items DISAB ...

  5. Kettle简介

    ETL和Kettle简介     ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它是构建数据仓库的重要环节.数据仓库是面向主题的.集成的.稳定的且随时间不断变 ...

  6. 数据交换工具Kettle

    网上搜集了一些关于开源数据交换工具Kattle的文章,特收藏例如以下: 文章一:ETL和Kettle简单介绍 ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它 ...

  7. ETL的经验总结

    ETL的考虑        做数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒还真的不少.但是那些工作基 ...

  8. ETL工具总结

    ETL的考虑        做 数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒 还真的不少.但是那些工 ...

  9. Hibernate 之 一级缓存

    本篇文章主要是总结Hibernate中关于缓存的相关内容. 先来看看什么是缓存,我们这里所说的缓存主要是指应用程序与物流数据源之间(例如硬盘),用于存放临时数据的内存区域,这样做的目的是为了减少应用程 ...

随机推荐

  1. c++类定义代码的分离

    类文件 实际工程中,对一个类的说明.架构.描述方法是:    往往分成头文件和实现的源文件,来实现代码的分离 然后,源文件中包含类的头文件... 头文件的包含问题: 类对应的实现文件cpp.main主 ...

  2. 【TCP/IP详解 卷一:协议】第二十一章 TCP的超时与重传

    作为TCP的重头戏,本章节涉及了许多关于计算方面的内容,使用了大量的例子来指明一些观点. 我使用的理解方法是:通过别人的博客,以及实例结合进行理解,不然会很吃力. 21.1 引言 reliable T ...

  3. spring boot 捕获filter异常 统一返回处理结果

    如前面的文章所述,controller中抛出的异常我们使用ControllerAdvice来处理: @RestControllerAdvice @Slf4j public class GlobalEx ...

  4. js 字符串匹配

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Spring 事物机制总结

    Spring两种事物处理机制,一是声明式事务,二是编程式事务 声明式事物 1)Spring的声明式事务管理在底层是建立在AOP的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加 ...

  6. dataframe使用笔记

    dates=pd.date_range(',periods=6) #创建固定频度的时间序列 df=pd.DataFrame(np.random.randn(6,4),index=dates,colum ...

  7. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  8. 《剑指offer》第十七题(打印1到最大的n位数)

    // 面试题17:打印1到最大的n位数 // 题目:输入数字n,按顺序打印出从1最大的n位十进制数.比如输入3,则 // 打印出1.2.3一直到最大的3位数即999. #include <ios ...

  9. CentOS系统-常用组件安装

    1,安装系统后,补装包组yum groupinstall "Compatibility libraries" "Base" "Development ...

  10. Codeforces B - Tavas and SaDDas

    535B - Tavas and SaDDas 方法一:打表大法. 代码1: #include<bits/stdc++.h> using namespace std; ]={,,,,,,, ...