通过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
大功告成...