티스토리 뷰

Database/Sybase

BCP 기능 및 사용방법

Jared 2009. 7. 12. 15:54
1.BCP란?

Table 단위로 Backup을 하거나 타 DBMS 또는 ISAM file의 data를 SYBASE SQL Server의 table로 또는 그 반대로 data를 옮길 경우에 BCP를 사용하여 간단히 할 수 있다.
BCP는 table에 data를 넣는 경우(in)와 table의 data를 꺼내는 경우(out)로 구분할 수 있으며 명령어에서 option으로 선택한다.

2. Syntax :

bcp [[database_name.]owner.] [view_name | table_name [:partition_id]] {in | out} datafile [-m maxerrors] [-f formatfile] [-e errfile] [-F firstrow] [-L lastrow] [-b batchsize] [-n] [-c] [-t field_terminator] [-r row_terminator] [-U username] [-P password] [-I interfaces_file] [-S server] [-a display_charset] [-q datafile_charset] [-z language] [-v] [-A packet size] [-J client character set] [-T text or image size] [-E] [-N] [-X] [-y sybase_dir] [-g id_start_value] [-R remote_server_principal]

- c Option : Data를 Character로 Conversion해주며 이 경우 -f Option을 사용하지 않는다. 이 Option은 타 DB의 Data와 연동 시 자주 이용된다.
-r -t 동시 사용 가능.

-f Option : Data를 In/Out 하기 위한 Format이 정의된 File로 이 Option을 사용 하면 다양한 종류의 BCP를 수행할 수 있다. partition된 table에 data를 load 할 때는 partition ID를 표시한다.

예) bcp mydb..ptab3:1 in datafile_1 bcp mydb..ptab3:2 in datafile_2 bcp mydb..ptab3:3 in database_3

-A Option : Packet Size를 조정하는 Option으로 Default Packet Size는 512 Byte이다.
그러나 대량의 Data를 BCP In/Out 하는 경우 Packet Size를 크게 할 필요가 있으므로 512의 배수로 Setting한다.
<<주의>>
Packet Size를 늘릴 경우 반드시 SQL Server Configuration Parameter 중 "maximum Network packet size"와 "additional network memory" 값 조정을 선행한다.

-J Option : Platform Default Character Set이 아닌 다른 Character Set 사용을 Server에 알려주는 것으로 일반적으로 SQL Server와 Client의 Default Character Set 이 다른 경우 Server의 Default Character Set으로 Conversion하기 위해 사용한다.

예) bcp pubs2..sales out sales.dat -Usa -P -c -t, -SSYBASE bcp pubs2..sales in sales.dat -Usa -P -fsales.fmt
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함