Tải bản đầy đủ (.ppt) (21 trang)

Oracle SQL Loader docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (478.78 KB, 21 trang )

Giáo viên HD: Nguyễn Thị Kim Phụng
Nội dung

Giới thiệu về Oracle SQL Loader

File đầu vào :Control file, data file

File đầu ra: Database, Log file,
bad file, discard file

Demo
Oracle SQL Loader là gì ?

Là tiện ích được sử dụng để tải dữ liệu từ các nguồn dữ liệu khác vào
Oracle.
VD: *.dat, *.txt, *.xls, *.mdb, …

SQL*Loader đọc data file và mô tả dữ liệu bên trong control file. Sử
dụng thông tin này và những tham số được kèm theo để nạp dữ liệu
vào database
Control file

Control file chứa những thông tin miêu tả cách mà dữ liệu được nạp.
Nó bao gồm table name, column datatypes,

1 dạng cấu trúc của Control file:

LOAD DATA
INFILE '<file_name>'
APPEND


CONTINUEIF THIS (start_position:end_position) = value
INTO TABLE table_name
(
<column_name> POSITION(<integer>:<integer>) <data_type>,
<column_name> POSITION(<integer>:<integer>) <data_type>,
<column_name> POSITION(<integer>:<integer>) <data_type>)

Các kiểu Load dữ liệu
APPEND
INSERT
REPLACE
TRUNCATE

Các kiểu dữ liệu trong SQL Loader
CHAR
DECIMAL EXTERNAL
INTEGER EXTERNAL

WHEN <condition> VD WHEN name != ‘ Mays '

CONTINUEIF THIS (start_position:end_position) = value
VD CONTINUEIF THIS (1:2) = '%%'

INFILE :Xác định tên file chứa dữ liệu nạp vào database,
dấu * cho biết dữ liệu sẽ được lấy ngay trong control file,
phía sau của từ khoá BEGINDATA

BEGINDATA: Từ khoá xác định điểm bắt đầu chứa dữ liệu,
sau từ khoá này là dữ liệu cần nạp vào database.


BADFILE: Xác định tên của các file lưu các dữ liệu không
thể nạp được vào database do phát sinh lỗi trong quá trình
nạp dữ liệu.

DISCARDFILE : Xác định tên của file lưu các dòng dữ liệu
bị bỏ qua không nạp vào database do không đúng với tiêu
chuẩn nạp dữ liệu
Các từ khóa thường gặp

INSERT: Thêm mới 1 dòng dữ liệu trong database

APPEND : Chèn thêm một dòng dữ liệu vào cuối cùng của bảng

TRAILING NULLCOLS : Điền giá trị null vào cột.

POSITION: Từ khoá dùng để xác định vị trí của dữ liệu cần nạp

CONSTANT : Đặt giá trị hằng số cho cột dữ liệu

RECNUM : Đếm số lượng dòng dữ liệu đã được nạp

SYSDATE : Trả về giá trị ngày giờ hiện thời

TERMINATED : Từ khoá xác định phân cách kết thúc

ENCLOSED :Từ khoá dùng để xác định đường bao dữ liệu
VD

LOAD DATA
INFILE 'E:\seminar\demo04.dat'

DISCARDFILE 'E:\seminar\demo4.dsc'
REPLACE
CONTINUEIF THIS (1) = '*'
INTO TABLE emp (
empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
hiredate POSITION(52:60) INTEGER EXTERNAL)
Phân loại control file

Có 2 loại chính:

Nạp trực tiếp:

VD:
LOAD DATA
INFILE *
INTO TABLE dept
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
(deptno, dname, loc)
BEGINDATA
12,RESEARCH,"SARATOGA"
10,"ACCOUNTING",CLEVELAND
11,"ART",SALEM
13,FINANCE,"BOSTON"
21,"SALES",PHILA.
22,"SALES",ROCHESTER
42,"INT'L","SAN FRAN"
Data file


File dữ liệu chứa các bản ghi được xử lý theo một định dạng đã định
nghĩa trong control file
Log file

Luôn được tạo ra sau khi load dữ liệu.

Bao gồm các thông tin sau:

Phần header: thời gian chạy, phiên bản của phần mềm.

Các thông tin toàn cục: tên của input file và output file, các tham số
dòng lệnh.

Các thông tin bảng: tên bảng, điều kiện load và phương pháp load.

Thông tin về các trường và cột.

Thông tin về tệp dữ liệu: chỉ ra các bản ghi bị từ chối và loại bỏ và lí do
bị từ chối hay loại bỏ.

Thông tin load các bảng: số các hàng đã được load, số các hàng bị từ
chối vì lỗi dữ liệu, số các hàng bị loại bỏ.

Thông tin tổng hợp: hiển thị dữ liệu sau: số lượng không gian được thiết
lập cho mảng, thông tin thống kê cho tất cả các data file.

Thời gian bắt đầu và thời gian kết thúc quá trình load.

Bad file

Chứa các bản ghi bị từ chối trong quá trình xử lý vì một trong các lí do
sau:

Các bản ghi đầu vào có lỗi. Ví dụ như định dạng sai, độ
rộng của trường quá lớn.

Không thể chèn thêm các bản ghi vào table. Chẳng hạn như
dữ liệu nạp vào không hợp lệ, các constraints bị vi phạm.

Discard file
Chứa dữ liệu như định dạng của tệp dữ liệu đưa vào, nó chứa các bản ghi
không thoả mãn điều kiện load.
Câu lệnh thực thi:

sqlldr userid = username/pass control = đường dẫn chứa file control log =
đường dẫn chứa file log
Demo

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×