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只能按常规把坏记录部分写到错误的地方。如果看整条记录,则可以将整条记录写到坏文件中。
推荐阅读
-
sql将一个表中的数据插入到另一个表中的方法
-
把Excel上的数据表格导入到word中以方便计算
-
Excel表格数据导入数据库users表中,利用excel公式自动生成sql语句方法
-
Java实现Excel导入数据库,数据库中的数据导入到Excel
-
使用NPOI将Excel表导入到数据库中
-
如何把Excel数据导入到SQL2008数据库的实例方法
-
解决将Excel表导入到SQL Server数据库时出现Text was truncated or one or more characters had no match in the target code错误
-
html中将table数据直接导入到excel中
-
Excel数据导入到Sql server
-
Java实现批量导入Excel表格数据到数据库中