《把Excel中的數(shù)據(jù)導(dǎo)入Oracle數(shù)據(jù)庫中》由會員分享,可在線閱讀,更多相關(guān)《把Excel中的數(shù)據(jù)導(dǎo)入Oracle數(shù)據(jù)庫中(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、教你怎么樣把Excel文件中的數(shù)據(jù)導(dǎo)入到 Oracle數(shù)據(jù)庫中
第一種:最簡單的方法。
在EXCEL中全選數(shù)據(jù),然后COPY接著打開PL/SQL DEVELOP^R丁開SQL窗口,輸入select
* from mytable for update;
然后執(zhí)行,就可以看到查出目的表
表,當(dāng)然是沒數(shù)據(jù)了。然后點擊下面列表上方的鎖(編輯數(shù)據(jù))
擇最后一個空行的行頭, 讓整行變成黑色則表示整行已全選中。 心三角箭頭的。然后粘貼,再 commit就OK咯。
說明:而且這個方法還有個好處就是對 EXCEL中的日期型、
據(jù)類型不會丟失。
mytable數(shù)據(jù),如果是空 ,不管有沒有數(shù)據(jù),我
2、們選 注意該行左邊是有個黑色實
數(shù)值型字段的處理也很正常,
——1國
dll
eCpril 曲a**
號口 gI& Liii uxtiora
icka 產(chǎn)
巾6
ypB bodes
r旦邛
士口 LK*
3bs
bwi*S!
iiectod 倒
flfafas
中時3
鼾,前■d visAt
scrs
巾iia
oIbs
QL ]山口m | 5iaistict|
3
J-
+ - 的 垂口
PTJANIE
AGE
TEL 1 BIRTHDAY
1
liuxi 3口 hum
22
1
3、13023445678
193^-2-1^ ?
2
iLixtaohua ”
22
113623445676
1986-2-16
*
3
lnjxiaohua
22
13623445678
1986-2-16
!!
4
liiiMaohiiH
22
13a23445678
例 C-2-7
5
liu^aohua
22
13腔3小哂3
19SC-2-13 -
6
liu^diol iud
22
113623445678
1986-2-19
*
7
liu^aohua
22
113623445678
1
4、SS6-2-20
.
8
luj^aohua …
22
136234褥遠
198221
T
9
Iwwaoriun
22
1362344567S
19的 222
T
10
Ikjwaohu3
22
脂623羽而78
1986-2-23 ?
■
圖:選中了行然后粘貼數(shù)據(jù)
select + ft on ityts t fot update
第二種:簡單的方法。
先將Excel文件另存為一個.csv 文件,然后編寫一個insert.ctl 文件,ctl文件寫法 如下:
load data --1、控制文件標(biāo)識
5、infile test.csv --2 、要輸入的數(shù)據(jù)文件名為
test.csv
append into table table_name --3、向表 table_name 中追力口t己錄
fields terminated by , --4 、字段終止于,,
是一個逗號
(field1,
field2,
field3,
...
fieldn)----- 定義列對應(yīng)順序
field(x) 要與Oracle表中的字段名保持一致(大寫)
最后在DOS^令下執(zhí)行以下命令:
sqlldr user/password control=insert.ctl
辛UWJlPlMJW
6、b,占爾亡fr曲入工而船峰
c;\>sqlldr liu^ia^hua/Liu^iaahua c&ntrol:d;\\axc4L.ctl
SQLALoader; Rla$e 10,2 0.1 G - Production on 星期四 7月 3 1€:27;27 2008
Copyright (cj 1S82, 2Q65, Orecle. All rights tv^vruvd.
W朝偎交點-邏期記錄計數(shù)11
*到提交點-送者記錄計數(shù)12
:\>
圖:表示導(dǎo)入了 12條記錄
第三種:比較簡單的方法。
如果數(shù)據(jù)不是很多,可以使用如下方法:
假設(shè)表名為test_excel ,有
7、4列數(shù)據(jù),則設(shè)置 Excel的E1單元格的值為
="insert into test_excel values( & A1 & “,,& B1 & “,,&C1 & “
& D1 & 力”
向下拖動該公式,則生成一列 sql ,把其copy到sql/plus 中執(zhí)行即可(如果數(shù)據(jù)中有單引
號,需要先替換成兩個),臨時導(dǎo)數(shù)據(jù)用這種方法還是比較方便的。
11
. i
;-"InEi-rt irito trst_^3ccr:l valursC "A/jIiV jJ,TB1," R IClfe." ? Ml皮―
A
B
C
p
E
1
al
b
看
dd
[dg
8、fert ird 口 Yalu史1 1 ?就 j 小二 樹)】
invert lata tm^eicel. TttlueiC e2f/bf / );
I
412
b
c
d
3
b
c
d
innii into twtjQiKl 召羋/‘bJ q.d );
事
a4
衣
丁 b
c
d
d
ingest ir.ro test exl vallieb( g4* F * V p,J c" p 寸 >; Lnsert itita 1印工/黑"1 TaJhjjcs「 JbJ U/S; inecit into test jxccl nduj&E(,a
9、&s,*V J X
i■的qeft Inta trai excel valuEsC sT* ?*b1,- e*a 1
10、AIL 1
卜
1
liu
xiachua
13640850545
?inc5ntS60214 126 .com …
2
al
b
c
M "
3
■
b
c
d
4
aS
b
c
d
5
a4
b
c
d .
6
a5
b
c
d ",
7
a6
b
c
d
8
與
b
c
d 卜』
9
a8
b
c
d …
圖:導(dǎo)入到 Oracle 數(shù)據(jù)庫后的表數(shù)據(jù)
第四種:比較麻煩的方法
1、在本地創(chuàng)建一個 Access 數(shù)據(jù)庫,將 Excel 數(shù)據(jù)先導(dǎo)入到 Acce
11、ss ??芍苯訉?dǎo)入點擊鼠標(biāo)
右 鍵 , 選 擇 導(dǎo) 入 , 文 件 類 型 選 擇 要 導(dǎo) 入 的 Excel 文 件 , 也 可 通 過 創(chuàng) 建 宏 用
TransferSpreadsheet 函數(shù)實現(xiàn)。
2、在本地創(chuàng)建ODBC鏈接oracle數(shù)據(jù)庫。將oracle中需要導(dǎo)入數(shù)據(jù)的表以鏈接表的方
式在本地 Access 中創(chuàng)建(千萬不要使用導(dǎo)入表) 。
3、在 Access 數(shù)據(jù)庫中創(chuàng)建插入查詢將導(dǎo)入好的 Excel 數(shù)據(jù)導(dǎo)入到 oracle 中。
此方法保證成功。
第五種:高端方法。
利用異構(gòu)數(shù)據(jù)庫 .
建一個實例,通過ODBCi于EXCE戊彳^.
再 以 db_link 的 方 式 進 行
作 :insert into oracle_instance.tab select * from excel_instance.tab
(注:文檔可能無法思考全面,請瀏覽后下載,供參考??蓮?fù)制、編制,期待 你的好評與關(guān)注)