SSISO Community

시소당

[오라클] 파일을 오라클 DB에 저장하기

1.  SQL*Loader  를  활용하는  방법
1)  먼저,  적재될  zipcodes  테이블을  DROP  시키고  새로  생성해야  한다.
%sqlplus  scott/tiger
SQL>  drop  table  zipcodes  cascade  constraints;
SQL>  create  table  zipcodes
(
sido  VARCHAR2(30),
gu  VARCHAR2(30),
dong  VARCHAR2(30),
etc1  VARCHAR2(80),
etc2  VARCHAR2(80),
etc3  VARCHAR2(80),
zipcode  VARCHAR2(7),
zipcode_old  VARCHAR2(7)
);

2)  다음은  데이터  적재와  관련된  정보를  저장하는  컨트롤  파일을  생성해야  합니다.
엑셀인  경우  ==>  text  파일로  변환한다.

*소스파일(ulcase1.ctl)
LOAD  DATA
INFILE  *
INTO  TABLE  zipcodes  insert
FIELDS  terminated  by  ','  optionally  enclosed  by  '"'
(SIDO,GU,DONG,ETC1,ETC2,ETC3,ZIPCODE,ZIPCODE_OLD)
BEGINDATA
내용
서울,강남구,강남우체국사서함,,1,99,135600,135600
서울,강남구,강남우체국사서함,,100,199,135601,135601
서울,강남구,강남우체국사서함,,1000,1099,135610,135610
서울,강남구,강남우체국사서함,,1100,1199,135611,135611
서울,강남구,강남우체국사서함,,1200,1299,135612,135612
서울,강남구,강남우체국사서함,,1300,1399,135613,135613

3)  생성한  커트롤  파일로  데이터를  적재해  봅니다.  (일반  경로에  의한  방법)
%SQLLDR  control=ulcase1.ctl  userid=scott/tiger

NT  :  SQLLDR  ,  unix  :  sqlldr
완료

2)번에  대한  설명
LOAD  DATA  ==>  적재  시작을  알립니다.
INFILE  *  ==>  적재될  데이타가  파일  내부에  있음을  표시합니다.
INTO  TABLE  zipcodes  insert  ==>  적재될  테이블명을  정의합니다.
FIELDS  terminated  by  ','  optionally  enclosed  by  '"'  ==>  적재될  데이타가  ,로  구분되어  있음을  의미합니다.
(SIDO,GU,DONG,ETC1,ETC2,ETC3,ZIPCODE,ZIPCODE_OLD)  ==>  적재될  테이블의  컬럼을  의미합니다.
BEGINDATA  ==>  적재될  데이터의  시작을  알립니다.
서울,강남구,강남우체국사서함,,1,99,135600,135600  ==>  적재될  데이타의  첫번째  행
내용

1776 view

4.0 stars