2012-12-21 2 views
1

oracle10g의 sql * loader를 사용하여 플랫 파일에서 테이블로 데이터를로드하고 있습니다.Oracle 10g에서 고유 키 제약 조건 위반?

로드하는 동안 아래 오류가 표시됩니다. 내가 그것을 해결할 수있는 방법 *

ERROR at line 1: 
ORA-00001: unique constraint (SANFORDINTEGRATOR.SUBSCRIBER_ID_PK) violated 
ORA-06512: at "SANFORDINTEGRATOR.DATAMOVE", line 26 
ORA-06512: at line 1 

. 사전

+0

Oh dear ... 데이터베이스가 플랫 파일에서 읽은 ID가 데이터베이스에 이미 있음을 알려주려고합니다. 고유해야하므로 PK 위반이 발생합니다. 따라서 flatfile에서 수정하거나 DB에서 중복을 먼저 삭제하십시오. 다른 곳에있는 ID에 의존하면이 작업이 재미있을 것입니다. – Najzero

답변

2

테이블 SANFORDINTEGRATOR에서

덕분에 (이 기본 키의 아마 때문에) 고유 값이있는 열 (아마 SUBSCRIBER_ID)을 필요로하는 제약이있다. 이 열에 고유 한 값이없는 데이터를로드하고있는 것입니다. 그래서 오라클은 그것을 거부합니다.

SUBSCRIBER_ID가 고유한지 확인하십시오 (파일과 테이블의 기존 데이터 모두에 해당).

+0

subscription ID 열에 대한 기본 키가 있지만로드해야합니다. pk constaring을 비활성화하지 않고도 플랫 파일 데이터 – sentil

+0

나는 제약 조건을 해제해야한다고 말하지 않았다. 파일에 SUBSCRIBER_ID가 포함되어 있습니까? 그렇다면 왜 그들은 독특하지 않습니까? – Codo

+0

응답 코드를 보내 주셔서 감사합니다. 클라이언트가 잘못된 파일을 보내 주셨 기 때문에 해결되었습니다. – sentil

관련 문제