SQLLoader 使用小結 3

2021-08-31 08:14:41 字數 1917 閱讀 1528

在使用sqlloader的時候,可能遇到資料檔案多個,或者資料檔案格式不規範的情況,下面我們就要討論一下這些的解決辦法

1. 遇到多個資料檔案

如果遇到多個資料檔案,同時要匯入一張表中,就可以使用多個infile 語句

2,pear,$3.00,"b_2"

3,grape,$6.00,"c_5"

4,banana,$6.00,"d_2"

fruit6.dat

5,orange,$2.00,"a_1"

6,stawberry,$3.00,g_5

fruit7.dat 

編寫控制檔案

load data

infile fruit6.dat

infile fruit7.dat

truncate into table fruitmarket

fields terminated by "," optionally enclosed by '"'

(fid,fname,price,address)

fruit6.ctl

執行sqlldr語句,檢視結果:

匯入成功,同時也可以看到address列上的雙引號都被去掉了,而且本身就不帶有雙引號的g_5沒有受到任何影響

2.遇到資料檔案的前幾行是其他資訊的情況

***********************************=

by jason

***********************************=

***********************************=

2,pear,$3.00,"b_2"

3,grape,$6.00,"c_5"

4,banana,$6.00,"d_2"

fruit8.dat

load data

infile fruit8.dat

truncate into table fruitmarket

fields terminated by "," optionally enclosed by '"'

(fid,fname,price,address)

fruit8.ctl

其實這種情況控制檔案是不變的,變化的地方在sqlldr命令上

這種情況需要在sqlldr命令後指明要跳過的行數(因為我連的資料庫是遠端的,所以上面使用的遠端資料庫的ip位址和服務名)

結果:還有一種要使用skip引數的情況是要匯入固定行數的記錄,比如在上面的資料檔案只匯入三條的話,可以使用load引數:

sqlplus scott/tiger control=fruit8.ctl skip=5 load=3

3.資料檔案某些字段缺失的情況

2,pear,$1.00

3,grape,$4.00,"c_5"

4,banana,$6.00,"d_2"

fruit9.dat

在這種情況下應該在控制檔案中使用trailing nullcols語句

load data

infile fruit9.dat

truncate into table fruitmarket

fields terminated by "," optionally enclosed by '"' trailing nullcols

(fid,fname,price,address)

fruit9.ctl

這樣,第二行中缺失的address會被自動的設為空(null)

結果:

SQLLoader使用簡介

sqlloader 命令介紹 1.sqlloader 是oracle 資料庫管理軟體的乙個資料匯入工具。安裝oracle 時請確認它是否被安裝 2 sqlloader 的命令sqlldr 這個可執行檔案在 oracle home bin下。3 sqlldr 的主要命令引數介紹 userid 指定使用...

SQLLoader工具的使用

實習十 sqlloader工具的使用 實驗目的 學習通過sqlloader工具把外部資料匯入到oracle資料庫中。一 sql loader涉及的檔案 控制檔案control file 匯入資料規則 日誌檔案log file 匯入資料記錄 壞檔案bad file 插入記錄出錯,如違反唯一約束,非空約...

使用SQL LOADER匯入資料

oracle的sql loader是乙個專門用於oracle導資料的工具。不過,好多dba習慣用toad匯入資料,toad這個工具。但是我覺得sql loader也不錯,特別是在批量的時候。對於初學者,我想宣告一點的是,關於那個.ctl檔案。我起初以為.ctl檔案是oracle自己的控制檔案。結果搞...