2011-03-25 4 views
0

SSIS에서 "Execute SQL Task"를 사용하여 사용자 변수에 값을 저장하려고합니다. 설명서에 '?' 쿼리의 매개 변수에 대한 자리 표시 자로 사용하지만 쿼리를 구문 분석하려고 할 때 구문 오류가 발생합니다. 그래서 쿼리는 다음과 같이이다 : 나는 또한 후 출력을 추가하려고했습니다(OLE DB) SQL 실행 작업 - 출력 매개 변수 사용

SELECT ? = AVG(Score) FROM Scorecards 

'?'. 나는 저장된 프로 시저를 사용하지 않는 이후하지만 내가 출력 매개 변수를 가진에 대한 찾을 수 모든 예제는

EXEC ? = MyStoredProc param1, param2, ... 

이 어떤 사용이 아닌 유사하다. 이 매개 변수의 사용은 비슷하지만 SSIS가 선택 진술에 사용하지 않는 이유는 무엇입니까?

+0

코드에서 예제를 찾을 수 없지만 매개 변수 매핑 및/또는 결과 집합을 사용하여 데이터를 사용자 변수로 가져와야합니다. – thursdaysgeek

+0

예, SSIS가 그다지 멀지는 않지만 매개 변수 매핑에도 추가했습니다. "Parse Query"를 눌러 구문이 맞는지 확인하면 구문 오류가 발생합니다. – nuit9

답변

2
그런 다음, 단일 행에 ResultSet의 속성을 설정 같은 당신의 쿼리를 수정해야합니다

: 추가를 클릭 결과 설정 창에서 다음

select avg(score) as AvgScore from ScoreCards 

, AvgScore에 결과 이름을 설정하고, 변수 이름에 변수를 추가하십시오 (예 : User :: AvgScore).

+0

나는 이것을 시도했다. 그것이 성공적으로 실행되는 동안 변수 창에서 작업 후에 중단 점에 도달하면 변수가 업데이트되지 않습니다. – nuit9

+0

변수 값이 해당 창에서 업데이트되지 않습니다. 변수에 감시를 추가하고 실행 중에 감시 또는 로컬 창을 열면 값을 확인할 수 있습니다. – grapefruitmoon

+0

그 작동하는 것 - 감사합니다 – nuit9