[출처] : http://blog.naver.com/hirokorea/20020980191
## SQL*Loader 사용법 ##
1. syntax(문법)
SQLLDR [keyword=]value [[keyword=]value]
2. example(예제)
C:>SQLLDR hr/hr control='C:\zipcdoe.ctl' direct=true
3. keword(키워드)
- USERID : 오라클 사용자 이름과 암호를 지정 합니다.
- CONTROL : 컨트롤 파일 이름
SQL*Loader를 수행하기 위해서는 항상 지정해 주어야 합니다.
- LOG : 로그 파일 이름을 지정합니다.(기본 이름은 controlfile.log)
- BAD : 거부된 레코드 모두를 저장하는 bad파일 이름을 지정합니다.
- DATA : 입력 데이터 파일 이름을 지정 합니다.
- DISCARD : LOARD시 선택되지 않은 레코드가 저장되는 디스카드 파일(선택사항)
- DISCARDMAX : 버림(discard)의 최대 수를 지정합니다.
- ERROR : 허용하는 배드 레코드의 최대 수를 지정합니다.
- DIRECT : 1.TRUE O : SQL*Loader는 direct path를 사용,
2.TRUE X : CONVENTIONAL PATH를 사용합니다.
- PARFILE : 추가 파라미터 파일을 지정합니다.
- PARALLEL : DIRECT로드에서만 적합한 이 파라미터는
다중 병렬 DIRECT로드가 수행 되도록 지정 합니다.
- FILE : 병렬 DIRECT로드의 경우 임시 세그먼트가 생성될 파일을 지정합니다.
## Sample예제 : 우편번호 zipcode.csv파일 oracle에 insert하기 #
/-------------참고파일-------------------------------------/
여기에 아래에 사용하는 소스들이 모두 들어있습니다.
다운 받으셔서 그대로 진행해 보세요~~ ^^
/---------------------------------------------------------/
1.ZIPCODE table 생성
create table zipcode (
seq NUMBER(5) not null,
zipcode VARCHAR2(7),
sido VARCHAR2(4),
gugun VARCHAR2(15),
dong VARCHAR2(43),
bunji VARCHAR2(17),
constraint PK_ZIPCODE primary key (seq)
)
2.zipcode_20080828.csv 파일 생성(','로 되어있는 데이터 파일)
- 우편번호의 경우 http://www.zipfinder.co.kr/zipcode/index.html 에서 다운받으시면 됩니다.
총 5가지의 종류가 있는데 그 중에 원하시는 데이터 형태로 받으시면 됩니다.
- .dbf 파일을 excell로 열어서 .csv로 저장합니다.
- 저는 여기서 c:\zipcode_20080828.csv에 위치하도록 하였습니다.
3.SQL*Loader controlfile생성
/********************
* c:\ zipcode.ctl *
********************/
- LOAD DATA
INFILE 'C:\zipcode_20080828.csv'
INTO TABLE zipcode
FIELDS TERMINATED BY "," (SEQ,ZIPCODE,SIDO,GUGUN,DONG,BUNJI)
4.SQL*Loader실행
- c:\>sqlldr hr/hr control=zipcode.ctl
[ 실행결과 그림1-1]
실행결과가 [그림 1-1]과같이 나왔다면 정상적으로 import가 된 것 입니다.
결과가 제대로 나오지 않거나 궁금하신 점은 comment를 달아주세요~~ ^^