2009-07-13 2 views
0

SQL 로더를 사용하여 일부 데이터를로드하려고합니다. 여기 내 제어/데이터 파일의 상단은 다음과 같습니다Oracle Sql Loader 제어 파일에 문제가 발생했습니다.

LOAD DATA 
INFILE * 
APPEND INTO TABLE economic_indicators 
FIELDS TERMINATED BY ',' 
(ASOF_DATE DATE 'DD-MON-YY', 
VALUE FLOAT EXTERNAL, 
STATE, 
SERIES_ID INTEGER EXTERNAL, 
CREATE_DATE DATE 'DD-MON-YYYY') 
BEGINDATA 
01-Jan-79,AL,67.39940538,1,23-Jun-2009 

... 다른 데이터 라인의 많은.

문제는 SQL 로더가 지정한 데이터 형식을 인식하지 못한다는 것입니다. 이것은 로그 파일입니다 :

Table ECONOMIC_INDICATORS, loaded from every logical record. 
Insert option in effect for this table: APPEND 

Column Name     Position Len Term Encl Datatype 
------------------------------ ---------- ----- ---- ---- --------------------- 
ASOF_DATE       FIRST  * ,  DATE DD-MON-YY  
VALUE        NEXT  * ,  CHARACTER    
STATE        NEXT  * ,  CHARACTER    
SERIES_ID       NEXT  * ,  CHARACTER    
CREATE_DATE       NEXT  * ,  DATE DD-MON-YYYY  

value used for ROWS parameter changed from 10000 to 198 
Record 1: Rejected - Error on table ECONOMIC_INDICATORS, column VALUE. 
ORA-01722: invalid number 

... char 데이터를 숫자 열에 삽입하려고하면 예상되는 많은 오류가 예상됩니다.

데이터 유형 스펙 및 기타 모든 숫자 스펙을 시도했지만 항상 동일한 문제점이 있습니다. 어떤 아이디어?

또한 행 매개 변수를 변경하는 이유에 대한 아이디어가 있습니까?

답변

3

예제에서 SQL * Loader는 문자열 "AL"을 숫자 값으로 평가하려고 시도합니다. 그러면 결과로 사용자가 지정한 오류 메시지가 나타납니다. 샘플 데이터는 제 3의 위치에서 십진수가 될 수있는 것처럼 보이며, 지정된 열의 목록처럼 두 번째가 아닙니다.

+0

아. 혼자 일할 때의 위험. 감사. – Marc

관련 문제