2009-06-09 4 views
1

SSIS 패키지를 사용 중이며 원본에서 대상으로 변경되지 않습니다. 그러나, 지금주의를 기울이고있는 칼럼에는 근원과 목적지에서 약간 다른 자료형 (나는 중요하지 않길 바랍니다)이 있습니다. 소스에는 숫자 (15,2)가 있고 대상에는 숫자 (16,2)가 있으며 소스의 데이터는 4.75이며 5로 변경됩니다.SQL Server Integration Services에서 반올림 값을 중지하는 방법은 무엇입니까?

소수 자릿수의 1 자리 감소입니다. 물론, 내가 사건을 테스트했기 때문에 중요하지 않아야합니다.

왜 값을 반올림합니까?

답변

1

중요한 정보가 분명히 있습니다.

데이터 뷰어의 흐름에있는 데이터를보고 변경된 부분을 확인 했습니까?

+0

그래 .. 알아 냈어. 데이터 뷰어는 정수형이 숫자로 바뀌었고 문제가 발생한 곳이 ... 고마워요. 케 이드 – sagar

0

데이터 흐름의 모든 작업에 대한 고급 편집기를 확인하십시오 (작업을 마우스 오른쪽 단추로 클릭 한 -> 고급 편집기 표시). 열 탭으로 이동하여 외부, 입력 및 출력 열을 확인하여 열이 정수가 아닌지 확인하십시오.

내 추측으로는 숫자가 아닌 정수로 가져 오는 것입니다.

+0

당신은 정수였습니다. 숫자가 아닌 ...하지만 여전히 정수를 가져 오는 이유는 무엇입니까? 원본 테이블의 열 이름이 숫자로 설정되었으므로 가져 오는 값은 numerica 데이터 형식의 합계입니다. 난 왜 그것이 정수를 당기는 지 궁금 하네. – sagar

0

동의. 누락 된 것이 있습니다. 임의의 정수 (예 : 곱셈)를 어딘가에 (5.0 대신 5를 곱하면) 어떤 종류의 연산을 수행 할 가능성이 있습니까?

+0

네. 정수를 당긴다. 왜 그런지 알아 내야 해. – sagar

0

나는 또한 동일한 문제가있었습니다. BIDS에는 버그가있는 것 같습니다. 내 OLE DB 작업은 이전에 정수로 가격이 설정되었습니다. 내 실수를 깨닫고 돈으로 바꿨지 만 BIDS/SSIS는 그것을 반올림하고 INT로서 다루었습니다. 모든 것을 시도 했으므로 결국이 문제를 해결할 수있는 유일한 방법은 OLE DB 작업을 삭제하고 새 작업을 드래그하는 것입니다. 동일한 쿼리를 사용했지만 돈이 있으면 잘 작동했습니다. 마치 BIDS/SSIS에 이상한 '기억'이 있으며 다시 시작할 수있는 유일한 방법입니다!

관련 문제