2017-12-18 29 views
0

oracle SQL을 사용 중이며 링크를 통해 원격 DB에 데이터를 삽입하려고합니다.
ORA-01722 at DB 링크를 통한 삽입

insert into [email protected] (<82 different columnNames>) 
values (<82 different values>); 

는 지금까지 내가 확인 모든 데이터 유형, 열 및 값이 일치 아직이 오류가 얻을 : 사람이 오류 좀 도와 수 있다면

Errorcode 1722, SQL-Status 42000: ORA-01722: Invalid Number 
ORA-02063: previous line of MDB.IGM 

내가 그에게 많은 감사하겠습니다을 .

V_ADITO_ONLINE_BEITRITT는 어떤 방식 으로든 도움이되는 경우보기입니다.

답변

0

Source Orafaq.com

ORA-01722 ("잘못된 번호") 시도가 다수

로 문자열을 변환하려고 할 때 INTO ... VALUES 삽입물 (수행 할 때 오류가 발생합니다. ..) 삽입하려는 데이터 항목 중 하나가 잘못된 번호입니다.

찾아서 수정하십시오. 모든 숫자가 유효한 것으로 보이는 경우 열의 순서가 잘못되어 VALUES 절의 항목이 예상 VARCHAR2 열 대신 NUMBER 열에 삽입됩니다. 테이블에 열을 추가하거나 제거 할 때이 오류가 발생할 수 있습니다.

값을 제공하는 하위 쿼리로 INSERT 또는 UPDATE를 수행하는 경우. 분명히 앞의 고려 사항이 여기서도 적용됩니다. 더 복잡하게 만드는 이유는 잘못된 문자열이 테이블의 행으로 숨겨져 있다는 것입니다. 해결 방법은 숫자가 아닌 문자열이있는 행을 식별하고 데이터가 변경된 경우 (오류가있는 경우) 또는 하위 쿼리에 항목을 추가하여 선택하지 않도록합니다. 문제는 정확한 행을 식별하는 데 있습니다. 잘못된 자료는 알파벳 문자가 있다고 가정하면, 하나는 다음 쿼리를 사용할 수 있습니다

COL 나쁜 데이터가있는 열입니다
SELECT ... WHERE UPPER(col) != LOWER(col) 

.

0

필드 이름과 값의 절반을 설명하고 ORA-1722가 여전히 존재하는지 확인하십시오. 오류가있는 부분을 찾았 으면 그 부분의 절반을 주석 처리하십시오. 문제가되는 정확한 필드 & 값을 찾아 확인하고 수정하십시오.