SQL LOADER的使用方法

本文深入探讨了SQL*Loader工具的使用,它是一种用于将操作系统文件迁移到Oracle数据库的高效途径。通过详细的指令说明和实例,展示了如何利用SQL*Loader进行数据导入操作,包括控制文件的创建、数据文件的选择、导入方式的设定(如APPEND、INSERT、REPLACE等),以及如何处理不同格式的数据文件(CSV、TXT等)。同时,介绍了SQL*Loader的函数关键字及其作用,如USERID、CONTROL、LOG、BAD、DATA等,帮助读者掌握这一数据迁移工具的全面应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL*LOADER

SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件(数据)迁移到ORACLE数据库中。
SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。

执行sqlldr命令可以看到相关帮助信息。

使用说明:
sqlldr userid=scott/scott@oradb control='D:/input.ctl' log='D:/input.log'

input.ctl内容:

load data                          --控制文件标识。

infile *                                --当为*时导入的数据在控制文件中,BEGINDATA后面为导入的数据。
infile 'D:/data.csv'            --要输入的数据文件名称(CSV格式数据)
badfile 'D:/data.bad'        --BAD文件路径

append|insert|replace|truncate    --append在表后追加,insert插入空表,replace替代原有内容。
into table tableName                      --要导入的数据库表名称  

fields terminated by ","                    --指定字段分隔符为,,csv文件用。
fields terminated by whitespace  --指定字段分隔符为tab,txt文件用。
fields terminated by X'09'               --以十六进制格式 '09' 表示的。
optionally enclosed by ""                --段选择性地封闭导入为选择的后面为空。  
trailing nullcols                                --表的字段没有对应的值时允许为空。

(col1 terminated by ",")                   --无声明fields terminated by时,列可单独定义。
(col1,col2,col3 FILLER)                  --定义列,FILLER标识这列不会装载。

(col_1 [interger external])               --定义列整数型
(col_1 [date "dd-mon-yy"])             --定义列日期型
(col_1 [char])                                    --第一列字符型

(col_1 position(1:2))                       --指定位置。
(col_1 position(*:2))                        --字段的开始位置在前一字段的结束位置。
(col_1 position(*:2) char(8))          --指定位置以及字段的类型。
(col_1 "upper(:col_1)")                   --字段使用函数。

begindata                                          --对应开始的INFILE * 要导入的内容就在control文件里。
10,sql,what                                        --begindata后的数值的前面不能有空格  
20,lg,show
......

注释:
APPEND        原先的表有数据,加在后面。
INSERT         装载空表,如果原先的表有数据,sqlloader会停止(默认值)。
REPLACE     原先的表有数据,原先的数据会全部删除。
TRUNCATE  指定的内容和replace的相同,会用truncate语句删除现存数据
 

Sqlldr的函数关键字说明: 
Userid     --oracle用户名  userid = username/password@serviceName 
Control    --控制文件名称  control = 'c:/sqlload.sld' 
Log          --日志文件名称  log = 'c:/sqlload.log' 
Bad          --损坏文件名称  bad = 'c:/sqlload.bad'
Data         --数据文件名    data = 'd:/data.csv' 
Discard    --discard file name 
Discardmax --number of discards to allow(默认全部) 
Skip          --导入时跳过的记录行数(默认0) 
Load        --导入时导入的记录行数(默认全部) 
Errors      --允许错误的记录行数(默认50)  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24070945/viewspace-706442/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24070945/viewspace-706442/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值