2014-04-22 3 views
1

ssis 패키지의 데이터 흐름 작업을하고 있는데이 문제는 이미 여러 번 실행되었습니다. 다음은 간단한 예제입니다 ... OLE DB 원본, 변환 스크립트 구성 요소 및 OLE DB 대상이 있다고 가정합니다.ssis 데이터 흐름이 데이터 유형을 설정 중입니다

이 (가정 strValue의이 MYTABLE에 VARCHAR 데이터 타입입니다)

select strValue 
from mytable 
where isnumeric(strValue) = 1 

가 그럼 난 변환 같은 스크립트 구성 요소를 내 DB 원본의 쿼리입니다. strValue는 입력 값입니다. "Inputs and Outputs"에서 스크립트 구성 요소를 편집 할 때 strValue를 클릭 할 수있을 때까지 입력 변수를 확장합니다. "공통 속성"에서 데이터 유형은 DT_I4 (이는 내가 믿는 정수이지만 결코 말하지는 않았다)라고합니다.

나는 그것이 내가 지금 strValue의 대신 스크립트 구성 요소의 숫자 인 경우 평가하기 위하여려고하고 지금

select strValue 
from mytable 

그래서 where 절을 제거하기 위해 내 DB 원본 쿼리를 변경하기로 결정. 그러나 이것을 실행하려고하면 strValue가 항상 정수가 아니기 때문에 변환에 도달하기 전에 실패합니다. 이 문제를 해결하기 위해 알아 낸 유일한 방법은 원본 OLE DB 원본 및 스크립트 구성 요소 tranformation을 삭제 한 다음 새 원본 개체를 만드는 것입니다.

ole db 소스의 정수 대신 strValue 열을 문자열로 매핑하는 쉬운 방법이 있습니까? (실제로 처음에 정수로 설정하지도!)

답변

1
  1. 데이터가
  2. 클릭 흐름 내에서 소스 객체를 마우스 오른쪽 버튼으로 클릭은 "고급 편집기를 ..."
  3. 클릭 "입력 및 출력 등록 정보"라는 마지막 탭에 있습니다.

"입력 및 출력 :"상자에 열이 표시됩니다. 그런 다음 개별 열을 클릭하고 데이터 유형을 수동으로 설정할 수 있습니다.

관련 문제