SQL LOADER 导入EXCEL数据到ORACLE表中

Excel导入Oracle,可以用工具比如Toad。

或者使用PLSQL Develope , select * from t FOR UPDATE; 然后copy , paste。

Toad : select t.rowid,t.* from t FOR UPDATE;

但是处理数据量大的时候,这个速度会比较慢。使用Oracle的SQL Load,处理速度飞快:

 

1. 导出table数据到Excel,另存为*.CSV的格式,并去掉第一行的标题.

2. 创建SQL LOADER控制文件,文件名及格式可自定义(如 sqlload.sld)。命令格式、参数如下:

 

Load data
Infile 'C:/data.csv'        --CSV格式数据源文件路径
Append|insert|replace       --append在表后追加,insert插入空表,replace替代原有内容
Into table tableName        --要导入的数据库表名称
[when id = id_memo]         --过滤条件
Fields terminated by ","    --字段分隔符(CSV文件内容的分隔符为",",所以此处对应的分隔符为",")
(column1,column2,column3)   --对应表中字段名

 

 

3.CMD下运行SQL LOADER命令,加载已创建SQL LOADER控制文件。格式如下:

 

Sqlldr userid = system/manager@ora control='c:/sqlload.sld' 

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

 

Sqlldr补充说明:

2)加载的方法:  

1.APPEND 给表添加行。 

2.INSERT 给空表增加行(如果表中有记录则退出)。 3.REPLACE 先清空表在加载数据。 

4. RECLEN 用于两种情况,1)SQLLDR不能自动计算记录长度,2)或用户想看坏文件的完整记录时。对于后一种,Oracle只能按常规把坏记录部分写到错误的地方。如果看整条记录,则可以将整条记录写到坏文件中。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值