方法一:通過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 工作簿
備註:一個查詢條件搞定。