sqlloader控制文件詳解 如何使用SQLloader導(dǎo)入數(shù)據(jù)?
如何使用SQLloader導(dǎo)入數(shù)據(jù)?在工作中,我經(jīng)常遇到以下情況:需要將Excel中的數(shù)據(jù)批量上傳到Oracle表中。如果是少量的數(shù)據(jù),比如幾十到幾百個(gè),那么使用plsqldev工具,在查詢命令之后添
如何使用SQLloader導(dǎo)入數(shù)據(jù)?
在工作中,我經(jīng)常遇到以下情況:需要將Excel中的數(shù)據(jù)批量上傳到Oracle表中。如果是少量的數(shù)據(jù),比如幾十到幾百個(gè),那么使用plsqldev工具,在查詢命令之后添加forupdate,然后解鎖、復(fù)制并粘貼數(shù)據(jù)。但是,如果有幾萬(wàn)到幾十萬(wàn)的大數(shù)據(jù),上述方法是行不通的。下面介紹如何使用Oracle附帶的sqlloader上載數(shù)據(jù)。2.SQLuLoader上傳數(shù)據(jù)2.1 SQLuLoader描述SQL*Loader是Oracle的內(nèi)置程序。如果本地機(jī)器需要上傳的數(shù)據(jù)是安裝了Oracle數(shù)據(jù)庫(kù)或客戶端,該工具將自動(dòng)集成。但是,不同的版本對(duì)控制文件的編寫有不同的要求。詳見2.3節(jié)或附件控制文件。2.2要編輯數(shù)據(jù)文件,必須使用SQL*加載器。有兩種數(shù)據(jù)文件,一種是*。TXT文本文件,另一個(gè)是*。CSV文件。例如,如果要上傳的數(shù)據(jù)是用Excel編輯的,則只需將Excel保存為[制表符分隔的TXT文件]或[逗號(hào)分隔的CSV文件]。
sqlloader能把excel導(dǎo)入oracle數(shù)據(jù)庫(kù)嗎?
1、工具:Oracle、SQL*Loader、PLSQL developer、SQL Server 2000。
2、導(dǎo)入方式:有三種導(dǎo)入方式,分別是:1。方法1:使用SQL*Loader:這是最常用的方法,前提是Oracle數(shù)據(jù)中的目標(biāo)表已經(jīng)存在。一般步驟如下:文本.txt
選擇文本文件(制表符分隔)作為文件類型,選擇CSV(逗號(hào)分隔)作為文件類型控制.ctl
字段終止符應(yīng)更改為“,”(字段
以“,”,假設(shè)它保存到磁盤C的根目錄中。
b]如果沒有現(xiàn)有的表結(jié)構(gòu),請(qǐng)創(chuàng)建它。假設(shè)表是test,兩列是DM和MS控制.ctl
內(nèi)容如下:(-以下是注釋,實(shí)際中不需要)
備注:數(shù)據(jù)導(dǎo)入方法如下:insert是默認(rèn)方法,要求在數(shù)據(jù)加載開始時(shí)表為空;append,將新記錄添加到表中;replace,刪除舊記錄并用新加載的記錄替換;truncate,與replace相同。
d.使用SQL*Loader命令在命令行提示符下輸入數(shù)據(jù)。
sqlldr
userid=system/manager control=“c: 控制.ctl"
2. 方法2:使用PLSQL developer:當(dāng)單個(gè)文件不是很大(少于100000行),并且目標(biāo)表結(jié)構(gòu)已經(jīng)存在時(shí),它肯定不會(huì)超過Excel,因?yàn)镋xcel文件的最大行為是65536--
您可以選擇所有數(shù)據(jù)副本,然后使用PLSQL developer工具。
a.在PLSQL developer的SQL窗口中輸入select*
from test for update