SSIS 원인 사용자 정의 데이터 플로우 구성 요소 오류 - 업그레이드 할 수 없습니다.

StackOverflow https://stackoverflow.com/questions/1194532

문제

파이프 라인의 (읽기/쓰기) 문자열에서 모든 선행 및 후행 공간을 다듬는 매우 간단한 구성 요소가 있습니다. 내가 볼 수있는 한, 나는 내 개발 기계 에이 DLL의 바이너리가 하나뿐입니다. 다른 개발 기계로 전송하고 GAC에 등록하고 있지만 패키지를 열면 두 번째 컴퓨터에 복사 한 경우 다음 경고를받습니다.

오류 1 유효성 검사 오류. 데이터 흐름 작업 : dts.pipeline : "구성 요소"trimcolumnscomponent "(1909)에 대한 구성 요소 메타 데이터는 최신 버전의 구성 요소로 업그레이드 할 수 없습니다. 성능 업그레이드 방법이 실패했습니다. ld_cxsum.dtsx 0

도구 상자에 구성 요소가 있고 다른 하나를 데이터 플로우 캔버스로 드래그 할 수 있으며 문제가없는 것 같습니다.

이것은 두 머신의 SQL Server 2005 및 Visual Studio 2005입니다.

두 번째 컴퓨터에서는 처음부터 패키지를 만들 수 있으며 구성 요소를 구축 한 컴퓨터에로드됩니다 (그러나 아이콘은 두 번째 시스템과 동일한 표준 사용자 구성 요소 아이콘입니다). 빌드 머신에서 처음부터 패키지를 만들면 올바른 아이콘이 있지만 건축 시스템에 업그레이드 메시지를 제공합니다. 파일은 구성 요소 디렉토리에서 동일하며 동일한 구성 요소 클래스 ID를 가지며 GAC에 등록되어 있습니다.

XML을 검사하여 빌드 머신과 비 건설 머신에서 생성 된 패키지로 DTSX 파일을 수동으로 확인했습니다. 클래스 ID와 공개 키는 컴퓨터간에 동일합니다.

이것을 원인 할 수있는 것은 무엇입니까?

도움이 되었습니까?

해결책

일반적으로 이것은 패키지가 저장된 후 구성 요소가 업그레이드되었음을 의미하므로 잘못된 버전 번호입니다. 불행히도 구성 요소를 다시 설명해야합니다 1.

패키지를 새 버전으로 저장하고 마이그레이션을 시도 할 수 있습니다. 이는 자동 업그레이드가 호출되는 문제를 해결할 수 있습니다 (그 후에 실패).

다른 팁

GAC의 구성 요소의 사본이 100% 긍정적입니까? 프로그램 파일 Microsoft SQL Server 90 DTS PipelIneComponents 폴더의 사본과 일치합니까? GAC 사본은 런타임에 사용되며 PipelineComponents의 사본은 vs ide에 의해 사용됩니다. X64 컴퓨터에서 실행중인 경우 일반 프로그램 파일 폴더와 X86 폴더 모두에서 PipelIneComponents 폴더에 복사해야합니다.

포함 클라이언트 도구 SDK 그리고 클라이언트 도구 후진 호환성 SQL Server 설치에서 업그레이드 문제를 해결했습니다.

나는 같은 문제를 겪었습니다. 이것을 위해이 방법은 개별 패키지가 아닌 전체 프로젝트를 배치하는 것이 었습니다. 이로 인해 문제가 해결되었고 패키지를 정상적으로 실행할 수있었습니다.

나는 같은 문제가 있었고 내 솔루션은 @appleg의 솔루션과 동일합니다. 이 문제는 전체 프로젝트가 아닌 단일 패키지 하나를 배포하여 생성되었습니다. 이 프로젝트는 다른 개발자에 의해 이전에 배치되었으며, 아마도 약간 다른 버전의 Visual Studio 또는 Deployment Wizard를 사용했습니다. 그런 다음 나중에 내 V에서 하나의 패키지 만 배포했습니다.

결론적으로 전체 프로젝트를 다시 배포하면 문제가 해결되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top