log
SQL*Loader: Release 10.2.0.1.0 - Production on 목 4월 16 12:52:39 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
제어 파일: D:\temp\udrcdr/CDR_SRC.ctl
데이터 파일: D:\temp\udrcdr/SAMPLE2.dat
파일처리 옵션 문자열: "str X'0D0A'"
잘못된 파일: D:\temp\udrcdr/CDR_SRC.bad
폐기 파일: D:\temp\udrcdr/CDR_SRC.dsc
(모든 폐기된 레코드 허용)
로드할 건수: ALL
생략 건수: 2
허용 오류수: 999990
바인드 배열: 64 행, 최대 256000 바이트
계속: 지정 사항 없음
사용된 경로: 규약
테이블 LAPSRC.C$_0CDR, 로드되었습니다 when C1_CDR_HEADER = 0X43445244415441(문자 'CDRDATA')
이 테이블에 적당한 Insert 옵션: REPLACE
열 이름 위치 Len Term Encl 데이터유형
------------------------------ ---------- ----- ---- ---- ---------------------
C1_CDR_HEADER FIRST * # CHARACTER
C2_CDR_VERSION NEXT * # CHARACTER
C3_CDR_DATA_TYPE NEXT * # CHARACTER
C4_CDR_UDR_TYPE NEXT * # CHARACTER
C5_CDR_CDR_TYPE NEXT * # CHARACTER
C6_UDR_MSID NEXT * # CHARACTER
C7_CDR_SOURCE_IP NEXT * # CHARACTER
C8_UDR_CORRELATION_ID NEXT * # CHARACTER
C9_UDR_ACCOUNT_SESSION_ID NEXT * # CHARACTER
C10_UDR_PDSN_FA_ADDRESS NEXT * # CHARACTER
C11_UDR_NAI NEXT * # CHARACTER
C12_UDR_BS_MSC_ID NEXT * # CHARACTER
C13_UDR_FORWARD_MUX_OPTION NEXT * # CHARACTER
C14_UDR_REVERSE_MUX_OPTION NEXT * # CHARACTER
C15_UDR_SERVICE_OPTION NEXT * # CHARACTER
C16_UDR_IP_TECHNOLOGY NEXT * # CHARACTER
C17_UDR_RELEASE_INDICATOR NEXT * # CHARACTER
C18_UDR_SERVING_PCF NEXT * # CHARACTER
C19_CDR_SRC_MIN NEXT * # CHARACTER
C20_CDR_DESTINATION_MIN NEXT * # CHARACTER
C21_CDR_START_TIME NEXT * # CHARACTER
C22_CDR_START_TIME_MSEC NEXT * # CHARACTER
C23_CDR_DUMMY1_3BYTES NEXT * # CHARACTER
C24_CDR_END_TIME NEXT * # CHARACTER
C25_CDR_END_TIME_MSEC NEXT * # CHARACTER
C26_CDR_DUMMY2_3BYTES NEXT * # CHARACTER
C27_CDR_SOURCE_PORT NEXT * # CHARACTER
C28_CDR_DUMMY3_2BYTES NEXT * # CHARACTER
C29_CDR_DESTINATION_IP NEXT * # CHARACTER
C30_CDR_DESTINATION_PORT NEXT * # CHARACTER
C31_CDR_DUMMY4_2BYTES NEXT * # CHARACTER
C32_CDR_TOTAL_UP_SIZE NEXT * # CHARACTER
C33_CDR_TOTAL_DOWN_SIZE NEXT * # CHARACTER
C34_CDR_REAL_UP_SIZE NEXT * # CHARACTER
C35_CDR_REAL_DOWN_SIZE NEXT * # CHARACTER
C36_CDR_SERVICE_ID NEXT * # CHARACTER
C37_CDR_SERVICE_TYPE NEXT * # CHARACTER
C38_CDR_SUPPLEMENT_SERVICE_TYP NEXT * # CHARACTER
C39_CDR_URL NEXT * # CHARACTER
C40_CDR_GENERATION_CODE NEXT * # CHARACTER
C41_CDR_DUMMY5_3BYTES NEXT * # CHARACTER
C42_CDR_QOS NEXT * # CHARACTER
C43_CDR_NETWORK_RETRY_COUNT NEXT * # CHARACTER
C44_CDR_APPLICATION_RETRY_COUN NEXT * # CHARACTER
C45_CDR_LAST_NETWORK_RETRY_ERR NEXT * # CHARACTER
C46_CDR_LAST_APP_RETRY_ERROR NEXT * # CHARACTER
C47_CDR_IP_PROTOCOL NEXT * # CHARACTER
C48_CDR_DUMMY6_14BYTES NEXT * # CHARACTER
C49_CDR_UP_PACKET_COUNT NEXT * # CHARACTER
C50_CDR_DOWN_PACKET_COUNT NEXT * # CHARACTER
C51_CDR_RETRANS_UP_PACKET_COUN NEXT * # CHARACTER
C52_CDR_RETRANS_DOWN_PACKET_CO NEXT * # CHARACTER
ROWS 매개변수에 사용된 값이 64에서 19(으)로 변경됨
테이블 LAPSRC.C$_0CDR:
0 행 로드되었습니다.
데이터 오류 때문에 0 행(이)가 로드되지 않았습니다
모든 WHEN절이 실패하여 0 행(이)가 로드되지 않았습니다
모든 필드가 NULL이어서 0 행(이)가 로드되지 않았습니다
바인드 배열에 할당된 영역: 254904바이트(19 행)
읽기 버퍼 바이트: 1048576
생략된 논리 레코드의 합계: 1
읽어낸 논리 레코드의 합계: 0
거부된 논리 레코드의 합계: 0
폐기된 논리 레코드의 합계: 0
목 4월 16 12:52:39 2009에 실행 개시
목 4월 16 12:52:39 2009에 실행 종료
경과 시간: 00:00:00.16
CPU 시간: 00:00:00.11
ctl file
OPTIONS (
SKIP=2,
ERRORS=999990,
DIRECT=FALSE
)
LOAD DATA
INFILE "D:\temp\udrcdr/SAMPLE2.dat" "str X'0D0A'"
BADFILE "D:\temp\udrcdr/CDR_SRC.bad"
DISCARDFILE "D:\temp\udrcdr/CDR_SRC.dsc"
replace
INTO TABLE LAPSRC.C$_0CDR
when (C1_CDR_header='CDRDATA')
FIELDS TERMINATED BY X'23'
(
C1_CDR_HEADER ,
C2_CDR_VERSION ,
C3_CDR_DATA_TYPE ,
C4_CDR_UDR_TYPE ,
C5_CDR_CDR_TYPE ,
C6_UDR_MSID ,
C7_CDR_SOURCE_IP ,
C8_UDR_CORRELATION_ID ,
C9_UDR_ACCOUNT_SESSION_ID ,
C10_UDR_PDSN_FA_ADDRESS ,
C11_UDR_NAI ,
C12_UDR_BS_MSC_ID ,
C13_UDR_FORWARD_MUX_OPTION DECIMAL EXTERNAL,
C14_UDR_REVERSE_MUX_OPTION DECIMAL EXTERNAL,
C15_UDR_SERVICE_OPTION DECIMAL EXTERNAL,
C16_UDR_IP_TECHNOLOGY DECIMAL EXTERNAL,
C17_UDR_RELEASE_INDICATOR DECIMAL EXTERNAL,
C18_UDR_SERVING_PCF DECIMAL EXTERNAL,
C19_CDR_SRC_MIN ,
C20_CDR_DESTINATION_MIN ,
C21_CDR_START_TIME ,
C22_CDR_START_TIME_MSEC ,
C23_CDR_DUMMY1_3BYTES ,
C24_CDR_END_TIME ,
C25_CDR_END_TIME_MSEC ,
C26_CDR_DUMMY2_3BYTES ,
C27_CDR_SOURCE_PORT DECIMAL EXTERNAL,
C28_CDR_DUMMY3_2BYTES ,
C29_CDR_DESTINATION_IP ,
C30_CDR_DESTINATION_PORT DECIMAL EXTERNAL,
C31_CDR_DUMMY4_2BYTES ,
C32_CDR_TOTAL_UP_SIZE DECIMAL EXTERNAL,
C33_CDR_TOTAL_DOWN_SIZE DECIMAL EXTERNAL,
C34_CDR_REAL_UP_SIZE DECIMAL EXTERNAL,
C35_CDR_REAL_DOWN_SIZE DECIMAL EXTERNAL,
C36_CDR_SERVICE_ID ,
C37_CDR_SERVICE_TYPE ,
C38_CDR_SUPPLEMENT_SERVICE_TYP ,
C39_CDR_URL ,
C40_CDR_GENERATION_CODE ,
C41_CDR_DUMMY5_3BYTES ,
C42_CDR_QOS DECIMAL EXTERNAL,
C43_CDR_NETWORK_RETRY_COUNT DECIMAL EXTERNAL,
C44_CDR_APPLICATION_RETRY_COUN DECIMAL EXTERNAL,
C45_CDR_LAST_NETWORK_RETRY_ERR DECIMAL EXTERNAL,
C46_CDR_LAST_APP_RETRY_ERROR DECIMAL EXTERNAL,
C47_CDR_IP_PROTOCOL ,
C48_CDR_DUMMY6_14BYTES ,
C49_CDR_UP_PACKET_COUNT DECIMAL EXTERNAL,
C50_CDR_DOWN_PACKET_COUNT DECIMAL EXTERNAL,
C51_CDR_RETRANS_UP_PACKET_COUN DECIMAL EXTERNAL,
C52_CDR_RETRANS_DOWN_PACKET_CO DECIMAL EXTERNAL
)
문제점 :
에러는 발생하지 않는데 모든 데이터가 bad file로 분류되고 적재되지 않는다.
원인 해결책 :
잘은 모르겠으나 "str X'0D0A'" 이부분을 삭제하니 잘 진행 되었다.
이유는 찬찬히 보기로 하자.
이정주가 찾았다.
windows sqlldr return code - 2 : At least one row rejected (참고 : http://widecheon.tistory.com/107 )
내가 지금 작성한 프로그램은
두가지의 패턴을 가지고 잇는 테이블이므로
rejected 가 나오는것이 당연하므로
무시해도 됨.
여러개의 포멧이 있을 경우나 하나의 포멧만 있는경우의 처리를 할 수 있을 것으로 보임.