2009-04-30 3 views
0

일부 SQL 10 진수 (20,0) 데이터 형식을 반환합니다. SSIS에는 foreach 루프가있는 패키지가 있습니다. 내 변수 매핑에서 어떤 유형의 변수를 매핑할까요? Int32, Int64, double을 시도했지만 여전히 "변수에 할당 된 값의 유형"User :: iID "가 현재 변수 유형과 다릅니다 ..."적절한 .Net 데이터 형식의 소수 (20,0)

답변

2

내 경우 SSIS 변수 디자이너가 10 진수 (18,2) 값을 배치 할 Decimal 또는 Numeric 데이터 형식을 표시하지 않았습니다.

내 변수를 Object로 변경하고 하나의 저장된 proc의 결과 집합에서 Decimal (18,2) 값을 읽고 두 번째 SP에 Money 유형의 매개 변수로 전달할 수있었습니다.

그래서 나는 당신을 위해 작동하는 변수 목록에서 유형을 찾을 수 없다면 "객체"를 사용할 것입니다.

2

십진수를 아직 사용해 보셨나요? ?

+0

ssis 디자이너에서 십진수 또는 부동 소수점에 대한 옵션이 없습니다 – Jeremy

0

.NET의 진수 방법을 decimal.ToInt64있다(), decimal.ToInt32()

0

하는 부동 소수점 또는 내 추천 것 진수.

+0

ssis 디자이너에서 십진수 또는 부동 소수점에 대한 옵션이 없습니다 – Jeremy

0

SQL 십진수 (20,0)는 20의 정밀도를 가지며 13 바이트의 저장 영역과 같습니다. .Net 십진수는 16 바이트이며 작동해야합니다.

1

SSIS에는 10 진수 및 숫자 형식이 있습니다. 이 중 하나를 사용할 수 있으며 통과 할 것입니다 (유니언 모두에서 동일한 정밀도와 크기를 사용해야 함).

데이터 유형에 대한 자세한 내용보기 here.

+0

어디서? 변수 창에서 Boolean, DBNull, Double, Int16, Int32, Int64, Object, SByte, String, UInt32, UInt64를 선택할 수 있지만 십진수 또는 숫자는 사용할 수 없습니다. – Jeremy

0

Int64 패키지 변수에 넣기 전에 SQL 데이터 형식을 Int64로 변환해야합니다.

어떻게 출력 매개 변수로 사용하고 있습니까?

데이터 흐름에서는 분명히 10 진수/숫자로 읽은 다음 데이터 변환 구성 요소에서 Int64로 변환합니다.

SQL 명령 실행 작업에서 출력 매개 변수를 직접 매핑하려는 경우 임시 개체 패키지 변수를 사용하고 스크립트 태스크에서 실제 Int64 패키지 변수로 변환해야 할 수 있습니다.

관련 문제