天天看點

Oracle 工具篇+SQL*Loader

說明:本文為面向Oracle SQL*Loader初學者的指導手冊

标簽:SQL*Loader、SQL_Loader、資料加載、資料導入

注意:文中删去了不需要的多餘部分,讓初學者一目了然一學就會

相關工具:Oracle常用的3種資料加載工具sql_loader、oracle_loader、oracle_datapump

溫馨提示:如果您發現本文哪裡寫的有問題或者有更好的寫法請留言或私信我進行修改優化

★ 相關文章

※ SQL*Loader(本文)

※ ORACLE_LOADER Access Driver

※ ORACLE_DATAPUMP Access Driver

★ 本文大綱

※ 工具對比

※ 知識點

※ 格式枚舉

※ 詳情 

※ 常見問題

★ 工具對比

屬性/對象 SQL_Loader ORACLE_LOADER ORACLE_DATAPUMP
用途 将外部資料導入資料庫 對外部表進行裝載 對外部表進行裝載/解除安裝

★ 知識點

※ SQL*Loader是用來将外部資料加載到資料庫中的工具,如Excel→Oracle

※ SQL*Loader不是oracle_loader,新學者容易混淆

※ SQL*Loader隻是資料導入工具,而oracle_loader/oracle_datapump屬于外部表工具

★ 格式枚舉

--格式1:var(變長)(精确)(略)

--格式2:str(流式)(友善)(略)

--格式3:fix(定長)(效率高)(本文)

★ 詳情

※ 格式:fix(定長)

✔ 控制檔案:

vi /home/oracle/zzt_sql_loader_ctl.txt

load data

infile 'zzt_sql_loader_data.txt' "fix 12"

truncate into table zzt_sql_loader_tab

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

(col1 ,col2)

✔ 資料源:

vi /home/oracle/zzt_sql_loader_data.txt

12345,aaaaa

54321,bbbbb

✔ 建立Oracle目錄

SQL> create directory zzt_dir as '/home/oracle/';

SQL> grant read,write on directory zzt_dir to scott;

✔ 建立裝載表定義

SQL> drop table scott.zzt_sql_loader_tab;

SQL> create table scott.zzt_sql_loader_tab(col1 varchar2(20),col2 varchar2(20));

✔ 執行SQL_Loader加載資料

su - oracle

sqlldr scott/[email protected] control=/home/oracle/zzt_sql_loader_ctl.txt

✔ 檢視裝載結果

SQL> select * from scott.zzt_sql_loader_tab ;     

COL1             COL2

------------     --------------------

12345             aaaaa

54321             bbbbb

★ 常見問題

※ 在fix n模式下,如果資料長度不是n的整數倍,則會出現如下加載失敗提示

    SQL*Loader-501: Unable to read file (zzt_sql_loader_data.txt)

    SQL*Loader-566: partial record found at end of datafile

    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.

※ 如果您覺得文章寫的還不錯, 别忘了在文末給作者點個贊哦 ~

Oracle 工具篇+SQL*Loader

over

繼續閱讀