通过ORACLE数据库系统的高级应用工具SQL*Loader 可以将原来的Excel中存储的数据直接装入ORACLE数据库的表中。
首先,在Microsoft-Excel中完成表格数据输入后,选择“保存文件”命令,在出现对话框的“文件类型”栏中选取“格式化文本文件(空格分隔)”
以形成一个标准格式化文本文件(*.PRN)或是选取“CSV(逗号分隔)”
形成一个逗号定界文件(*.CSV)。这两者的区别是:标准格式的文本文件中每个记录等长,数据间按原库文件字段长度紧凑排列,字符型字段数据左对齐,数
据型字段数据右对齐,不足部分用空格补足。逗号定界文件特点是各记录可不等长,字段按其定义顺序依次排列,字段间用逗号分隔,字符型字段和数据型字段的左
右端空格被消去。
下面以"CSV(逗号分隔)"为例说明数据的导入过程.
1.假设有Excel表格如下(名为input.xls):
1 | a | name1 | age1 | 2
| b | name2 | age2 | 3 | c | name3 | age3 | 4 | d | name4 | age4 | 5 | e | name5 | age5 | 6 | f | name6 | age6 | 7 | g | name7 | age7 | 8 | h | name8 | age8 | 9 | i | name9 | age9 | 10 | j | name10 | age10 | 11 | k | name11 | age11 | 12 | l | name12 | age12 | 13 | m | name13 | age13 | 14 | n | name14 | age14 | 2.把此Excel表格另存为:CSV(逗号分隔)(*.csv).名为input.csv,文件保存在C盘根目录.
3.新建一个文件,名为input.ctl.以文本文件的形式打开并输入以下代码:
LOAD DATA --1、控制文件标识
INFILE 'c:\input.csv' --2、要输入的数据路径为c:\input.csv
APPEND INTO TABLE person_zz --3、向表person_zz中追加记录
FIELDS TERMINATED BY "," --4、字段终止于",",是一个逗号.也可以是X'09'表示一个制表符(TAB)
(xh,wh,name,age) ----定义列对应顺序
注意:如果上边的这个CTL文件不好用,可以尝试把注意文件去掉,因为我没尝试过加注意,所以不知道CTL文件是否可以这样加注释,呵呵.
4.在oracle数据库中新建一个名为person_zz的表,里面包含四个字段,分别为xh,wh,name,age.注意,在创建数据库的时候,一定确保字段长度足够大.
CREATE TABLE person_zz(
xh VARCHAR2(4),
wh VARCHAR2(10),
name VARCHAR2(6),
age VARCHAR2(50),
);
5.在确保正确安装Oracle的情况下,在命令行中(Ctrl+R后,输入cmd回车).
输入如下命令和参数:
C:\Documents and Settings\user>sqlldr userid=jwzh/jwzh@orcl_170 control=c:/input.ctl
userid=用户名/密码@连接串.
control=转换格式控制文件所在位置.
执行成功后显示如下信息.
SQL*Loader: Release 10.2.0.1.0 - Production on 星期四 7月 28 17:26:04 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
达到提交点 - 逻辑记录计数 64
达到提交点 - 逻辑记录计数 128
达到提交点 - 逻辑记录计数 192
达到提交点 - 逻辑记录计数 256
达到提交点 - 逻辑记录计数 276
大功告成...
|