2017-03-24 6 views
0

정직 질문 ..Oracle SQL * loader에 대해 ERRORS를 설정할 수있는 최대 값은 무엇입니까?

오라클 (10)의 상태에 대한 문서 :

Oracle 10g sql*loader documentation

(참고, 나는 그것이 가장 편리한 이후, 나는 오라클 (10)에 대한 답변을 것 10g에 연결되고/또는 오라클 11, 어느 쪽이든 괜찮습니다 - 나는 그것이 같은 대답이 될 거라 생각 - 그래서 두 태그를 추가).

ERRORS (errors to allow) Default: To see the default value for this parameter, invoke SQLLoader without any parameters, as described in Invoking SQLLoader.

ERRORS specifies the maximum number of insert errors to allow. If the number of errors exceeds the value specified for ERRORS, then SQL*Loader terminates the load. To permit no errors at all, set ERRORS=0. To specify that all errors be allowed, use a very high number.

(강조 광산).

ERRORS=999999999999999999999999999999999999 

(36 자리)

을 신속히이 오류 가지고 : 오라클 번호 (38)까지 처리 이후

그래서 .. 내가 시도한를 시도

SQL*Loader-100: Syntax error on command-line

을 더 작은 수 :

ERRORS=999999 

이 정상적으로 작동합니다.

여기에서 사용할 수있는 최대 값은 무엇입니까? 설명서에서 찾을 수 없으므로 잘못된 장소를 찾고 있는지, 아니면 정확히 들어 있지 않은지 확인하십시오.

그리고 큰 숫자가 필요합니다. 수백만 행 파일이므로 앞으로 가능한 모든 문제를 피하기 위해 최대한 큰 것을 사용하고 싶습니다.

+0

어떤 버전의 Oracle을 사용하셨습니까? –

+0

@Gary_W : 내 질문에 표시된대로 : 10g와 11 ... 둘 다 지금까지 같은 결과. – Ditto

답변

1

IMHO sqlldr은 (는) 지원 번호 (39)가 아닙니다. SQL 로더의 모든 숫자 매개 변수는 정수 데이터 형식이라고 생각합니다. 정수에 대한 일반적인 제한은 2147483647입니다.

sqlldr xxxx control=ctl.ctl errors=2147483648 -> exception 

sqlldr xxxx control=ctl.ctl errors=2147483647 -> works fine 
+0

오라클의 버전은 무엇입니까? –

+0

SQL * Loader : 릴리스 11.2.0.3. db 버전이 아닙니다. –

+0

Arkadiusz : 그 말은 이제 네 말이 맞다. 나는이 답을 정확하게 받아 들일 것이다. 그러나 나는 시간을 줄 것이다. "단지를 대비해서":) 감사합니다! – Ditto