2014-03-24 7 views
1

SSIS를 사용하여 전자 메일을 보내고 싶습니다. 나는 "How to send the records from a table in an e-mail body using SSIS package?"에 지시를 따랐다. 그러나, 나는 오류가 점점 오전 :SSIS ForEach 변수 매핑 오류

Error: ForEach Variable Mapping number 1 to variable "User::XY" cannot be applied

을 패키지를 실행하는 동안. 원본 테이블에 5 열 (bigint, datetime, nvarchar, nvarchar, nvarchar 유형)이 있습니다.

또 다른 오류는 다음과 같습니다

Error: The type of the value being assigned to variable "User::XY" differs from the current variable type. Variables may not change type during execution. Variable types are strict, except for variables of type Object.

문제는 무엇을 할 수 있을까?


업데이트 :이 문제를 알아 내려고했다, 나는 이런 짓을했는지 : Execute SQL Task에서 데이터를 복용하는 동안, 나는 varcharint 데이터를 캐스팅하고 String 데이터 유형과 변수를 사용하고 작동 . 하지만 INT 데이터 유형이되도록 변수를 설정해야합니까? varchar이 아닌가요?

+0

문자열 대신 Int로 해당 변수를 설정해야 할 것 같습니다. 그래서 "Int32"로 데이터 유형을 변경했지만 그 방법은 잘못된 것입니다. – DNac

답변

1

정확하게이 방법을 모르지만이 문제가 &으로 해결되었습니다. 가) 쿼리이 이미 fine-- 실행되었다 (각 변수 에 처음 두 컬럼에 대한 값을 통해 루프를 시도하고 당겨위한 객체 B)에 행을 가져옵니다 : SQL 서버 2008 R2에 대한 SSIS 실행

나는 쿼리를 편집하고 각 루프에 대해 돌아와서 분기 논리에 대한 추가 변수를 추가했다.) c) 오류가있는 변수 '1'이 int로 발생했는데 그 이름과 같은 이름을 가지게되었다. 에서 당겨.

foreach 루프에서 변수 - 열 참조를 삭제하고 다시 추가하려고 시도했지만 변수가 매핑에 허용 된 변수 목록에 더 이상 나열되지 않은 것을 발견했습니다.
변수를 삭제하고 같은 유형 (int32)의 새 변수를 만들고 이름을 추가하고 추가했습니다.