이 오류는 이전에 본 적이 있지만 값을 수동으로 입력하여 처리 한 것이지만 4 행이었습니다.이 오류는 이번에는 100 개가 넘는 행에서 발생합니다.SSIS - 열에 null 값을 삽입 할 수 없습니다.
Shipto
이라는이 열은 3 개의 숫자 중 하나, 1 자리 숫자, 2 자리 숫자 또는 All
이라는 단어를 갖습니다. 수입 1 개 2 자리 숫자에 완벽하게 잘 작동하지만 All
을 가지고 때이 오류가 발생합니다
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (162) failed with error code 0xC0202009 while processing input "OLE DB Destination Input" (175). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
이 패키지는 하나 개의 테이블에서 값을 받아서 다른에 삽입합니다. 값을 가져 오는 표를 보았습니다. 열 shipto
은 null이 아닙니다.
유일한 차이점은 두 테이블의 구조에 있습니다. 임시 테이블은 실제 테이블이없는 해당 컬럼에서 널 (null)을 허용합니다. 두 테이블의 열은 varchar(20)
입니다.
이 데이터 흐름에는 []이라는 체크 박스가 있습니다. 이 문제를 해결하지 않으시겠습니까? 열이 null이 아니기 때문입니다.
도움을 주셔서 감사 드리며 필요한 추가 정보를 게시하겠습니다. 고맙습니다.
"실패에 대한 추가 정보가있는이 메시지 앞에는 오류 메시지가있을 수 있습니다."다른 메시지가 있습니까? 일반적으로 존재합니다. 필자가 보았던 대부분의 문제는 일반적으로 데이터 형식이 일치하지 않는 것과 관련이 있습니다. – Samuel
공유 한 오류 메시지에서 문제가 null 값으로 언급되는 부분이 표시되지 않습니다. 대상 테이블에서 Null을 허용하지 않으면 ETL 패키지에서 검사 제약 조건의 선택을 취소해도 문제가 해결되지 않습니다. 소스 데이터의 모든 행에 대해 해당 열에 Null 값이없는 것이 확실합니다. –
@ Samuel 다른 오류는 없습니다. 데이터 유형은 동일하므로 왜이 부분을 혼동합니다. –