方法一:通过SQL*LOADER导入数据
(1)将EXCEL另存为.csv后缀(在另存为对话框的下拉列表中有这种类型),用记事本将.csv文件打开,将数据整理一下,例如
表A,有列A1,A2,A3
则文件中格式为:
1,2,3
2,3,4
注意:最后一行数据的末尾要换行一下
然后将其另存为一个.dat文件,(不另存也可以,我是为了规范化)
(2)编写控制文件,格式如下:
load data
infile 'd:/xxxx.dat' (刚才你存的数据文件)
append (增加数据需要此项,向空表插入不需要)
into table tab_name (你的数据库表名)
fields terminated by ',' optionally enclosed by '"'
(A1,A2,A3)(表中的列名,要与数据文件同样顺序)
将其存为文件:xxxx.ctl。
(3)在服务器的运行中写命令:
sqlldr userid=scott/tiger control=d:/case1.ctl log=d:/case1.log
方法二 利用PLSQL Developer导入数据
使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具。在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下,对于excel而言肯定不会超过了,因为excel文件的最大行为65536,可以全选数据复制,然后用PLSQL Developer工具。具体方法如下:
(1)在PLSQL Developer的sql window里输入select * from test for update;
(2)按F8执行
(3)打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。
方法三 使用其它数据转移工具作中转站
我使用的是Sql Server 2000。
先将excel表导入sqlserver数据库中,然后再从sql server导入到oracle中。这两部操作都简单,如果不会随便查个帮助就可以了,要不然问我也行:)
这里有两个自己的经验:一是注意excel文件的版本和格式要与导入到sql server时的数据源匹配。如果导入到sql server时的数据源选Microsoft Excel 97-2000的话,而excel文件的版本为Micaosoft Excel 5.0/95 工作簿,则有可能出问题。关于如何看Excle文件格式,你打开excel文件,选择另存为,即可看到像Micaosoft Excel 5.0/95 工作簿或者是Microsoft Office Excle 工作簿
备注:一个查询条件搞定。