Tải bản đầy đủ (.pdf) (71 trang)

Bài giảng Kiến trúc cài đặt cơ sở dữ liệu - Chương 2: Nhập xuất dữ liệu (Exporting and importing data)

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 (1.74 MB, 71 trang )

GV Phi Loan - Khoa CNTT – HUI

1


N i dung





L nh BCP
L nh BULK INSERT
Import And Export Wizard
Project SSIS

GV Phi Loan - Khoa CNTT – HUI

2


N

̀

̀

• SQL Server
̀
̀
̀ u.



̀ u
̀

̀

̀

̀

̀

̀

̀

̀

̀

̀

– L nh BCP
– L nh BULK INSERT
–D
̀ nh SELECT INTO
–D
̀
̀
̀I

̀And Export Wizard
– Project SSIS
GV Phi Loan - Khoa CNTT – HUI

3


BCP (Bulk Copy Program)
• Là 1 ti n ích (utility) mà ng i dùng có th
th c hi n t d u nh c l nh.
• Đ
̀
̀ copy d li u t SQL server
thành 1 file c a h
u hành hay ng c l i.
• R t th
̀ ̀
̀ chuy n 1 l ng l n
d li u vào các b ng c a SQL server t các
ch ng trình khác nh t các DBMS khác

GV Phi Loan - Khoa CNTT – HUI

4


BCP (Bulk Copy Program)

GV Phi Loan - Khoa CNTT – HUI


5


Ti n ích BCP
• D li u chuy n t ngu n bên ngoài vào
database c ̀“QL̀
̀
c g i là BCP IN
(c ̀
c g i là importing)
• N u d li ̀
c chuy n t SQL Server ra
ngu ̀
̀
̀
c g i là BCP OUT (còn
c g i là exporting). Ngu n ngoài ph i là
̀ ̀ n (flat file).

GV Phi Loan - Khoa CNTT – HUI

6


Ti n ích BCP
• Đ ̀
–D
–H

̀


̀
̀

̀

̀ ̀
̀ ̀

̀ ̀
̀ ̀ ̀
̀
̀ ̀ ̀
̀
̀ ̀
̀ ̀
̀ ̀ ng.

GV Phi Loan - Khoa CNTT – HUI

ng:
̀
̀ ̀

̀

7


Các yêu c u khi th c hi n BCP

̀F ̀ li u ch a d li ̀
c nh p vào
c n ph i có d ng row/column.
̀F ̀ li u nên có ký hi u k t thúc hàng
(row terminator) và k t thúc c t (column
terminator) sao cho SQL Server có th nh n
bi ̀
c khi truy n d li u.
̀C u trúc c a file d li u và b ng c a SQL
Server c n ph ̀ ng nh t.
GV Phi Loan - Khoa CNTT – HUI

8


Cú pháp l nh BCP
BCP [[database_name.][owner].]table_name
{in|out|queryout|format} data_file
[-m max_errors] [-f format_file] [-x] [-e err_file]
[-F first_row] [-L last_row][-b batch_size]

[-n] [-c] [-w] [-N]
[-t field_term] [-r row_term]
[-i input_file] [-o output_file] [-a packet_size]
[-S server_name] [-U login_id] [-P password]
[-T]
GV Phi Loan - Khoa CNTT – HUI

9



Cú pháp BCP
• in|out|queryout|format là h ng c a l nh.
– In: copy d li u t 1 file d li u vào b ng c
CSDL.
– Out: copy d li u t b ng CSDL vào 1 file d
–Q
̀
̀ ̀ ̀ ̀ ̀
̀ n
–F
̀ ̀ ̀ ̀
̀
̀
̀
̀ ̀
̀ - ̀- ̀- ̀ ̀-N ̀ ̀ ̀
̀
̀
̀
̀ ̀
̀K ̀
̀ ̀
̀
̀ ̀ ̀ ̀ ̀ ̀ ̀
̀
̀
̀
T ̀
̀ ̀

̀ ̀
̀
̀ ̀ ̀ n
GV Phi Loan - Khoa CNTT – HUI

a

li u.
̀
̀

̀
̀

f
10


Cú pháp BCP
 data_file là
ng d n y
c a file d
li u, có th ch a t 1 n 255 ký t .
 -m max_errors: là s l i c c i có th x y ra
trong khi th c thi l nh. M i hàng không th
copy b i l nh
c tính là 1 l i. M c nh là
10 l i.

GV Phi Loan - Khoa CNTT – HUI


11


Cú pháp BCP
• -f format_filè ̀
̀ ̀ ̀
̀
̀
̀
̀ ̀ ̀ ̀
̀ ng.
– N u -f̀
̀
̀
̀ ̀ ̀ n
format, ̀format_filè
̀ ̀
̀ ̀
̀ ̀
̀Đ ̀ ̀ ̀
̀
̀XML ̀
̀
̀ ̀
̀
̀ ̀ n x.
–N ̀ ̀
̀
̀ ̀ ̀

̀ ̀ ̀
̀̀ ̀ ̀ ̀
̀
̀
̀ ̀ n.

GV Phi Loan - Khoa CNTT – HUI

12


Cú pháp BCP
 -e err_file là
ng d n y
c a file l i (error
file). File này
c dùng
l u tr các hàng mà l nh
không th copy
c t file vào CSDL. N u khơng có
ch n này, file l i khơng th t o
c.
 -b batch_size là s hàng trên 1 batch d li u s
c
copy. Trong tr ng h p b l i, SQL Server s commit
hay rolls back giao d ch (transaction) theo t ng batch
d li u. M c nh t t c d li u trong file d li u xác
nh s
c copy thành 1 batch.
GV Phi Loan - Khoa CNTT – HUI


13


Cú pháp BCP
• -F first_roẁ ̀ ̀
̀ ̀ ̀
̀
̀
̀ ̀
̀ ̀
̀ ̀
̀
̀M ̀
̀ ̀
̀
̀
̀
̀ ̀1.
• -L last_roẁ ̀ ̀
̀ ̀ ̀
̀
̀ p.

̀
̀ ̀
̀ ̀ ̀ ̀
̀ ̀ ̀ ̀ n 2^63-1.
GV Phi Loan - Khoa CNTT – HUI


̀

̀
̀ ̀
̀ ̀

̀

̀

̀
̀
̀

̀

14


Cú pháp BCP
• -ǹ
̀
database.
• -c̀
̀
̀
̀
̀
̀
̀

̀ ̀
̀
• -Ǹ
̀
̀
̀
̀
character.

̀

̀

̀
̀
̀
̀

̀

̀

̀

̀

̀

nh


̀M ̀

̀

̀
̀

̀

̀

̀̀

̀

̀

̀ ̀

̀ ̀
̀

̀ ̀
̀
̀
̀ ng.
̀ ̀ ̀ ̀ ̀ ̀
̀
̀U
̀ ̀ ̀


GV Phi Loan - Khoa CNTT – HUI

̀

̀

̀

̀ ̀

15


Cú pháp BCP
• -ẁ
̀
̀
i \t̀
̀
̀
̀ ̀
̀
- ̀
̀̀
terminator). M
- ̀
̀
terminator). M
-̀

̀
- ̀
̀

̀

Unicode (nchar ̀
̀
̀
̀
̀ ̀
̀
̀
̀
̀
̀ ̀\ǹ
̀
̀
̀ ̀
ng.
̀ nh ký t k t thúc c t (field
̀ nh là \t.
̀ nh ký t k t thúc hàng (row
̀ nh là \n.
̀ nh tên c a file ngõ vào.
̀ nh tên c a file ngõ ra.

GV Phi Loan - Khoa CNTT – HUI

16



Cú pháp BCP
- ̀
̀ ̀ nh s byte cho 1 gói tin
trên m ng (network packet), có th có t 4096
n 65535 bytes; M ̀ nh là 4096.
 Kích c gói tin càng l ̀ ̀
̀
̀
̀
th c thi c a l nh. N u gói tin q l n khơng
th t ̀
c thì kích c m ̀ nh s
c
dùng.

GV Phi Loan - Khoa CNTT – HUI

17


Cú pháp BCP
 -S server_name[\instance_name]: xác nh
n
hình c a SQL Server
c n i n. N u không
dùng tùy ch n này, l nh bcp k t n i n
n
hình m c nh c a SQL Server trên máy tính m c

nh. Tùy ch n này
c yêu c u khi th c thi
l nh bcp t 1 máy tính xa trên m ng.
 -U login_id : xác nh login ID
c dùng
k t
n i t i SQL Server.
GV Phi Loan - Khoa CNTT – HUI

18


Cú pháp BCP
 -P password: xác nh passowrd cho login ID.
N u không dùng tùy ch n này, bcp s h i
password khi ch y. N u dùng tùy ch n này mà
khơng xác nh password thì bcp s dùng
password m c nh.
 -T: t i SQL server ng
(trusted connection) a
không n ng U và-P
GV Phi Loan - Khoa CNTT – HUI

t

i tin
i ng

y
ng,


19




c
C

̀

T
̀

̀

̀

̀̀

̀ T ̀

̀-T

̀

̀T ̀ ̀ ̀ ̀
̀
̀
̀ ̀ ̀ ng T)


̀
T ̀̀ ̀ T
̀ Usa
SPHILOAN-PC -P c
C
̀ ̀ ̀ ̀
̀T ̀ ̀ ̀ ̀
̀
̀
̀
̀ ̀ ̀ o SQL server thông
qua user sa
GV Phi Loan - Khoa CNTT – HUI

20



• USE toyworld
SELECT * INTO toy2 from Toys where 1=2
bcp toyworld.dbo.toy2 in toy.txt T c
C
̀ ̀ ̀ ̀ ̀
̀
̀
̀
toy2
• B ̀ “ELECT̀ T N
̀FROM̀

̀
̀ T N
̀ T c
̀C
̀ ̀ T N
̀ ̀
̀ ̀
̀
GV Phi Loan - Khoa CNTT – HUI

̀

ng

̀
̀

i
21


L nh BULK INSERT
• Đ

̀

̀

̀
̀

̀
̀ ̀
̀ ̀ ̀
̀
̀
i vào b ng SQL server
• L nh BULK INSERT có th
c th c thi t
d u nh c l nh hay t query analyzer.
• Có th dùng l
̀BULK̀IN“ERT̀ chèn d
li u t 1 hay nhi u ngu n vào b ng SQL
Server.

GV Phi Loan - Khoa CNTT – HUI

22


Cú pháp l nh BULK INSERT
BULK INSERT [ [ 'database_name'.] [ 'owner' ].] {
'table_name' FROM 'data_file' }
[ WITH
(
[ BATCHSIZE [ = batch_size ] ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] DATAFILETYPE [ =
{ 'char' | 'native'| 'widechar' | 'widenative' } ] ]
[ [ , ] FIELDTERMINATOR [ = 'field_terminator' ] ]
[ [ , ] FIRSTROW [ = first_row ] ]

[ [ , ] LASTROW [ = last_row ] ]
[ [ , ] MAXERRORS [ = max_errors ] ]
[ [ , ] ROWTERMINATOR [ = 'row_terminator' ] ]
)
]
GV Phi Loan - Khoa CNTT – HUI

23


Cú pháp l nh BULK INSERT
• BATCHSIZE [ = batch_size ̀ ̀ ̀ nh s hàng
trong 1 batch. M ̀
̀
c copy vào
server nh 1 transaction.
• CHECK_CONSTRAINTS: yêu c u b ̀ ̀
constraint trong b ng ph ̀
c ki m tra
trong lúc th c thi l nh. M ̀ nh l nh b qua
các constraint cua b ng.

GV Phi Loan - Khoa CNTT – HUI

24


Cú pháp l nh BULK INSERT
• DATAFILETYPE [ = {'char' | 'native' | 'widechar'
| 'widenative' } ]:

– Char: file d li u ki u ký t
– Native: s d ng ki u d li u hi n có c a
database
– Widechar: file d li u ki u ký t Unicode
– Widenative: t ng t nh native, ngo i
tr các c t char, varchar và text s
c
l u tr theo ki u Unicode
GV Phi Loan - Khoa CNTT – HUI

25


×