<아직 미 완료 char자료형은 그냥들어가는데 number형이 문제네..>
ctl파일을 아래 방법대로 만든다
ctl파일 작성법
LOAD DATA
INFILE 파일명(절대경로)
INSERT //REPLACE 기존행모두삭제후Insert, APPEND 행추가, INSERT 비어있는 테이블에넣을때, TRUNCATE 테이블의 기존 데이터 모두 TRUNCATE하고 INSERT
INTO TABLE 테이블명
FIELDS TERMINATED BY '|' //컬럼구분자
(LOC_CODE
(LOC_CODE INTEGER EXTERNAL(3), ITEM_CODE INTEGER EXTERNAL(3), HOUR8_TIME char(10), HOUR8_VALU DECIMAL(10,3), HOUR8_OVER char(1)) //컬럼형식 및 자료크기
컬럼타입형식
table 구조
이름 Null? DataType
-------- ----- ------------
A NUMBER(7,4)
b NUMBER(3)
일경우 number(7,4) 는 DECIMAL(7,4) number(3)은 INTEGER EXTERNAL로 선언해서 사용한다
$ cat tmsa1_8hour.ctl
LOAD DATA
INFILE ?????/tmsa1_8hour.txt
INSERT //REPLACE 기존행모두삭제후Insert, APPEND 행추가, INSERT 비어있는 테이블에넣을때, TRUNCATE 테이블의 기존 데이터 모두 TRUNCATE하고 INSERT
INTO TABLE A.TABLE
FIELDS TERMINATED BY '|'
(LOC_CODE number(3), ITEM_CODE number(3), HOUR8_TIME char(10), HOUR8_VALU number(10,3), HOUR8_OVER char(1))
실행방법
oracle 계정으로 로그인후 실시
$ ls
tmsa1_8hour.ctl tmsa1_8hour.txt
$ sqlldr
$ sqlldr ID/PW control=tmsa1_8hour.ctl data=tmsa1_8hour.txt
참조
SQLLDR CONTROL=foo.ctl, LOG=bar.log, BAD=baz.bad, DATA=etc.dat
USERID=scott/tiger, ERRORS=999 , LOAD=2000, DISCARD=toss.dis,
DISCARDMAX=5
참조사이트 http://blog.naver.com/koogoon/60035364340
댓글 없음:
댓글 쓰기