2008 SSIS 패키지의 플랫 파일 대상에 쓰고 있습니다. 99.99 %가 올바르게 작동합니다. 그러나 대상 파일에 하나의 중복 레코드가 생깁니다.
1. 읽기이 ISO-8859-1 인코딩 된 파일은
2.에 메모리에 함께 두 개의 파일을 결합하고로드 메모리에 UTF8에 자신의 텍스트를 인코딩 : 여기 SSIS의 중복 레코드 플랫 파일 대상
3. 디스크에서 다른 소스 파일을 읽습니다.
4. 소스 파일의 ID 열과 조회 캐시의 ID 열을 일치시킵니다.
5. ID가 조회 캐시의 ID와 일치하면 일치하는 파일이 일치하지 않으면 다른 파일에 쓰기
모든 것이 작동합니다. 처음부터 끝까지. 그러나 경기 기록에 중복 기록이 있습니다. 나는 그들이 중복 될 때 조회 캐시 텍스트 파일의 파일 끝 (또는 다른) 특수 문자로 인해 중복이 발생했다고 의심하기 시작했다. 이러한 파일은 UNIX 시스템에서 생성됩니다 (그러나 읽으면 UTF8로 인코딩됩니다). 중복 레코드는 매번 동일한 레코드입니다. 복제본을 가져 오지 못하게하려면 어떻게해야합니까? (또는 복제본의 출처를 파악하십시오.) 목적지에 합법적 인 중복이 있기 때문에 중복 제거를 사용할 수 없습니다. 나는 이것을 몇 주 동안 알아 내려고 노력해왔다.
현재 이론은 SSIS 조회 캐시가 플랫 파일 원본에서 250,000 개가 넘는 레코드를 처리 할 수 없다는 것입니다. 나는 그것이 소스 (또는이 라인을 따라 무언가)로부터 다시 읽는 것을 생각하고 그것이 이것을 할 때 중복을 생성하고 있다고 생각한다. 원본에서 중복 된 행을 제거하여이를 테스트했습니다. 그런 다음 다른 레코드를 복제합니다. 그런 다음 전체 행 수가 약 250,000 개로 줄었고 중복 된 항목이 없습니다. 나는이 프로세스를 약 10 회 실행했으며 250,000 개 미만의 소스 레코드로 어떤 복제본도 얻지 못했습니다. 다른 제안 사항이 있으십니까? –