使用sql loader導資料

byfree發表於2008-05-14

過幾天需要導資料,今天先做個準備工作。由於要導的表結構不一樣,資料量也不小,所以想到了sql loader。
首先在網上找到如何將表中的資料生成文字檔案,很簡單用spool,但過程中還是遇到一些小問題。

SQL> set heading off;
SQL> set lines 200;
SQL> set trims on;(這個很關鍵)
SQL> spool test.dat
SQL> select col1||','||col2... from t;
SQL> spool off

test.ctl內容:
load data
infile 'test.dat'
into table tablename append
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY "'"
(
id,
name
)

test.dat內容:
1,bb
2,aa
3,ef
4,de
5,fr
上面所說的問題就是在這遇到的,一開始沒有使用set trims on,導致匯出的每行資料後都存在空格,sqlldr總是無法正常匯入資料。

$ sqlldr test/test control=test.ctl log=test.log

SQL> select * from tablename;

檢視資料,匯入成功!!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17997/viewspace-267355/,如需轉載,請註明出處,否則將追究法律責任。

相關文章