2、使用sqlloader的步驟(舉例說明)
現(xiàn)有excel表:person
Name sex age
姓名1男12
姓名2女13
…….
姓名10000男1234
現(xiàn)要將此excel數(shù)據(jù)插入到172.17.43.32服務器,數(shù)據(jù)庫名為orcl,名為cs密碼為123的用戶下,且此用戶下無person表。
(1)將excel表轉換成csv或txt格式的表(這是因為oracle的規(guī)定,只能轉這兩種類型的文檔) 轉換就只需要打開文檔后另存時,改為這兩種格式就可以了。現(xiàn)假設已有了person.csv數(shù)據(jù)文檔,且放在D盤。
注意:在轉成csv格式時,要檢查數(shù)據(jù)是否改變;如7E3就會變成7.00E+03(就是7000)
在導入數(shù)據(jù)庫后,也會變成7.00E+03;像這種情況,就只有到數(shù)據(jù)庫去親自改了。
(2)連接遠程數(shù)據(jù)庫172.17.43.32的數(shù)據(jù)庫,在里面創(chuàng)建person的空表。(至于怎么建就看自己的了,但要注意需要id自增主鍵的,要建id自增序列和觸發(fā)器);現(xiàn)假設遠程數(shù)據(jù)庫已有了這個person表。
Id varchar2(30)
Name varchar2(30)
Sex vachar2(4)
Age number
(3)再些控制文件;先舉例子,詳細說明下面再說;控制文件名為person.ctl(主要是創(chuàng)建這個文件)
options(skip=1)
load data
infile "D:\person.csv"
append
into tableperson
fields terminated by ","
optionally enclosed by '"'
trailing nullcols
(
name ,
sex ,
age ,
)
將控制文件放在D盤。
(4)調用sqlloader工具,sqlloader的導入工具名叫sqlldr.exe
第一步:打開dos命令;
第二步:輸入D: 轉到D盤D:\>
第三步:輸入sqlldr cs/123@orcl control=person.ctl (如:sqlldrhis/his@his[注意這里是數(shù)據(jù)庫名稱,不是orcl<服務名>] control=person.ctl)回車
注意:第三步必須有一個前提: 就是在oracle的net manager將172.17.43.32的orcl數(shù)據(jù)庫添入到本地的服務命名里來。
(5)到遠程數(shù)據(jù)庫里去查看person表的內(nèi)容,看是否已全導入(這里有10000條)。