2021. 12. 2. 21:41

탭구분으로 되어 있는 txt 파일의 데이터를 로더로 넣다가, 

마지막열에 값이 없는 것들이 아래처럼 에러가 나길래...

레코드 201467: 기각됨 - 테이블 "DB"."TABLE", 열 LAST_FIELD에 오류
논리 레코드가 종료하기 전에 열을 찾지 못했습니다 (TRAILING NULLCOLS 사용)

 

분명히 탭 순서는 다 들어갔고, 마지막열에 값이 없는것들에서만 위에처럼 에러가 난다.

 

ctl 파일내용 

LOAD DATA
CHARACTERSET  UTF8
INFILE 'log_202004.txt' 
BADFILE 'log_202004.bad'
DISCARDFILE 'log_202004.dsc'
APPEND
INTO TABLE "DB_USER_NAME"."TABLE_NAME"
FIELDS TERMINATED BY X'9'
(FIELD1_NM,
FIELD2_NM,
FIELD3_NM char(4000),
FIELD4_NM char(4000),
FIELD5_NM char(4000),
FIELD6_NM)

이렇게 입력중이였다.

 

마지막 열이 null이라도 그냥 넘어가게 하려면, 

아래처럼, 필드값 앞에

trailing nullcols 를 써주면 된다.

LOAD DATA
CHARACTERSET  UTF8
INFILE 'log_202004.txt' 
BADFILE 'log_202004.bad'
DISCARDFILE 'log_202004.dsc'
APPEND
INTO TABLE "DB_USER_NAME"."TABLE_NAME"
FIELDS TERMINATED BY X'9'
trailing nullcols
(FIELD1_NM,
FIELD2_NM,
FIELD3_NM char(4000),
FIELD4_NM char(4000),
FIELD5_NM char(4000),
FIELD6_NM)

 

 

참고 블로그 ( 로더 사용시 각 케이스별 옵션 사용법 있음)

: https://blog.naver.com/PostView.naver?blogId=polong77&logNo=140012601270&parentCategoryNo=&categoryNo=21&viewDate=&isShowPopularPosts=true&from=search 

 

Posted by Tyson