欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL LOADER 导入EXCEL数据到ORACLE表中

程序员文章站 2022-07-15 16:37:11
...

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只能按常规把坏记录部分写到错误的地方。如果看整条记录,则可以将整条记录写到坏文件中。

 

相关标签: SQLLoader