Oracle工具應用(一):數據文件導入SQL*Loader

       Oracle提供的數據加載工具SQL*Loader能夠將外部文件中的數據加載到Oracle數據庫中,且支持多種數據類型(日期、字符、數據字符etc),能夠將多種數據類型加載到數據庫。導入數據準備:一個控制文件(.CTL) + 一個數據文件(.DAT)便可.sql

(1)控制文件:描述要加載的數據信息(數據文件名、數據存儲格式、文件中數據對應的存儲字段、數據加載方式、哪張表的哪列etc)數據庫

注:【根據數據存儲格式分類】app

      a.固定格式存儲:數據按必定規律排序,擴展文件經過固定長度將數據分割;工具

      b.自由格式存儲:由規定的分隔符來區分不一樣字段的數據.測試

(2)數據文件:存放目標數據的文件.net

image

一.SQLLDR命令形式日誌

>sqlldr排序

image

二.加載數據get

關鍵在於:編寫控制文件(決定要加載數據的格式)it

1.固定格式加載

      數據按必定的規律排列,可以使用固定格式加載,控制文件經過數據的固定長度將數據分割.

a.建立一張表free_table,保存要加載的數據

image

導入以前沒有數據:

image

b.準備測試數據文件:free_data.dat

image

c.編寫控制文件:free_data.ctl,使用默認數據加載方式(適用於表數據爲空的狀況下,不然須要指定append或replace方式)

image

注:【固定格式控制文件】

infile:指定源數據文件

into 表名:數據將被添加到的表(可以使用append向表中追加數據,或replace覆蓋表中已有的數據)

position:指定表中字段對應數據的具體位置(一個英文符算1 一箇中文符算2)

d.使用sqlldr命令加載數據,設置控制文件名和導入產生的日誌信息文件

image

sqlldr 用戶名/密碼 control=控制文件位置 log=導入數據日誌文件位置

導入結果:

image

生成的導入日誌文件:

image

日誌內容:

image

2.自由格式加載數據

       數據沒有必定的格式,可以使用自由格式加載,控制文件經過指定的分隔符將數據分割.

a.使用以前的表free_table,數據之間使用美圓符號($)分割數據,能夠看到字段的長度不固定

image

b.編寫控制文件:free_date2.ctl

    b1.表不爲空,且不指定加載方式(默認方式),

image

會報以下錯誤:

SQL*Loader-601:  對於 INSERT 選項, 表必須爲空。表 FREE_TABLE 上出錯

    b2.這時須要,更改成追加(append)方式加載數據:

image

注:【自由格式控制文件】

fields terminated by 指定分隔符 (表的字段列表)

c.使用sqlldr命令加載數據,設置控制文件名和導入產生的日誌信息文件

image

sqlldr 用戶名/密碼 control=控制文件位置 log=導入數據日誌文件位置

導入結果:

image

生成的導入日誌文件:

image

 

嗯~ 就是這麼簡單!感謝chen工。

相關文章
相關標籤/搜索