Oracle中使用sqlldr載入資料

2021-08-28 01:43:35 字數 1687 閱讀 5599

一、sqlldr資料載入簡單示例

1. 建立示例資料表

create table ts_user (

id          varchar2(20),

user_name   varchar2(30),

password    varchar2(50),

***         char(1),

create_time date )

2. 在e盤下建立控制檔案data.ctl,內容如下:

load data

infile'data.txt'

ts_user

fields terminated by','

(id, user_name, password)

3. 在e盤下建立資料檔案data.txt,內容如下:

1,tuozixuan,123456

2,wengpeng,password

4. 把資料檔案data.txt中的資料載入到本地資料庫中

sqlldr userid=scott/[email protected]/orclcontrol=data.ctl

二、sqlldr命令主要引數

userid:oracle使用者名稱/密碼

control:控制檔名

data:資料檔名

log:日誌檔名

bad:錯誤檔名

skip:要跳過的邏輯記錄的數目(預設為0)

load:要載入的邏輯記錄的數目(預設全部)

sqlldr userid=scott/[email protected]/orcl control=data.ctl data=data.txt log=log.log bad=bad.log skip=1 load=1

三、控制檔案說明

1. load data

控制檔案標識

2. infile 'data.txt'

指定要匯入的資料檔案為data.txt

如果使用infile *,表示要匯入的資料就在control檔案裡面,即begindata後面的內容。

指定資料要載入到那張表中,載入方式有下面幾種:

insert:把資料載入到空表中,如果原表中有資料則會停止載入,該項為預設值

replace:如果原表中有資料,則會全部刪除

truncate:如果原表中有資料,則會用truncate語句刪除

4. fields terminated by ','

指定資料的分割符

fields terminated by whitespace:以空白分割

fields terminated by x'09':以製表符分割

trailingnullcols:表示字段沒有對應值時允許為空

5. (id, user_name, password)

表的字段

問題:1. sql*loader-601: for insert option, table must be empty.  error on table ts_user

Oracle中使用sqlldr載入資料

示例1.建立示例資料表 create table ts user id varchar2 20 user name varchar2 30 password varchar2 50 char 1 create time date 2.在e盤下建立控制檔案data.ctl,內容如下 load data...

使用sqlldr命令向Oracle匯入資料

前兩天,碰到了乙個需求,需要把 txt 的資料匯入到oracle資料庫中,現在記錄一下 要匯入的檔案是 lcb rccr.txt 裡面內容如下 000000000146 20110710 000050000036 00005 20110710 010001 06362038 20000.00 江陰市...

oracle中使用序列

場景 在開發中資料庫主鍵id設計為number型別了,因此不能使用uuid進行隨機生成id,那麼現在使用oracle的序列自動生成吧。首先建立序列 create sequence seq case studyid minvalue 1 最小值 maxvalue 999999 最大值 start wi...