2011-12-19 3 views
1

저는 SSIS를 처음 접했으므로 제발 같이가주십시오. 개발자가 SSIS 패키지를 제공하고 데이터베이스 서버에서 예약 된 작업을 만들어 실행하도록 요청했습니다. 그는 자신의 개발 상자에서 실행되지만 다음 데이터 형식 불일치 오류로 작업이 실패하는 것을보고 있습니다.SSIS 패키지에서 데이터를로드하는 동안 데이터 형식이 일치하지 않는 이유는 무엇입니까?

0xC020837F "출력 열 'col1'열의 데이터 형식이"System.Byte "데이터 형식과 일치하지 않습니다. [] "원본 열 'col1'"

Visual Studio에서 패키지를 열고 항목의 입력 및 출력 속성에서 외부 열과 출력 열을 데이터 형식 데이터베이스 타임 스탬프로 표시합니다 [DT_DBTIMESTAMP]. 서버의 원본 열을 검사하여 날짜/시간 열인지 확인했습니다. 이 오류가 발생할 수있는 다른 이유가 있습니까?

+0

정확히 어디에서 오류가 발생했는지 분명하지 않습니다. 어떤 유형의 변환이 오류 메시지를 생성합니까? 데이터의 출처는 무엇입니까? SSIS/SQL Server의 버전은 무엇입니까? SQL Server 데이터 형식 TIMESTAMP와 SSIS 데이터 형식 DT_DBTIMESTAMP 사이에 혼란이있을 수 있습니까? – Pondlife

+0

SSIS SQL Server 작업을 실행 한 후에 오류가 발생했습니다. 작업 기록을 볼 때이 오류가 표시됩니다. 오류는 데이터 흐름 구성 요소를 나열하며, 해당 구성 요소의 선택 문일뿐입니다. 데이터 원본은 SQL Server 데이터베이스입니다. 내가 읽은 것부터, DT_DBTIMESTAMP는 DATETIME과 같습니다. –

+0

전체 오류 메시지 란 무엇입니까? 어떤 유형의 데이터 흐름 변환이 언급되어 있습니까? 입/출력 속성을보기 위해보고있는 "항목"은 무엇입니까? SQL 쿼리는 어떻게 생겼습니까? 어떤 SQL Server 버전이 있습니까? 개발과 생산 과정에서 데이터베이스 스키마가 동일하다는 것을 확인 했습니까? – Pondlife

답변

1

원본 테이블 정의가 개발 환경 및 운영 환경에서 동일하지 않은 것 같습니다. 어떤 종류의 소스 구성 요소와 어떤 연결 관리자를 사용하는지 그리고 원본 쿼리 (어쩌면 당신은 일부 데이터를 작성 또는 변환)에 대한 충분한 정보를 제공하지 않았기 때문에 몇 가지 가정을해야합니다.

SSIS Error and Message Reference에 명시된 바와 같이, 오류 코드는 0xC020837F (-1071611009) 이름 DTS_E_ADOSRCDATATYPEMISMATCH과 설명이 있습니다

The data type of "" does not match the data type "" of the source column "__".

오류 이름 (DTS_E_ADOSRCDATATYPEMISMATCH) 및 오류 메시지 부분에서 "를 System.Byte []"나는 당신 결론 ADO NET Source 소스 구성 요소를 사용하고 있습니다. 다음 시작 검사에 대한

: 소스 구성 요소의 속성을 열고, 특정 열을 취소하고 다시 확인 -이 힘 소스 구성 요소를 외부 출력을 새로 고침 -이 트릭은 OLEDB 소스 작동이 당신에게 또한

하면 도움이 될

아마, 개발 또는 생산 환경 중 하나에, 열은 타임 스탬프, 이미지, VARBINARY 또는 관리 System.Byte []에 매핑하지만, 다른 한편으로 그렇지 않은 다른 타입이다. 원본 테이블 정의를 다시 확인하십시오.

이 답변으로 도움이되지 않는 경우 원본 쿼리와 소스 쿼리 자체에 대한 create 문을 게시하십시오.

관련 문제