문제

저장된 Proc를 실행하는 보고서가 있습니다.

EXEC ra_spProjectCalendar @Month, @Year, @ProjectID

ProjectID는 다중 선택 드롭 다운입니다. 단일 프로젝트가 선택되면 제대로 작동합니다. 여러 프로젝트를 선택하면 오류가 발생합니다.

"Must declare scalar variable "@ProjectID"

그러나 데이터 탭에서 실행하면 잘 작동하지만 미리보기 모드로 넣으면 문제가 있습니다.

도움이 되었습니까?

해결책

쿼리를 표현으로 구성하여 작업과 비슷한 것을 얻었습니다.

="EXEC ra_spProjectCalendar @Month = '" & Parameters!Month.Value & "',@Year='" & Parameters!Year.Value & "',@ProjectID = '" &  Join(Parameters!ProjectID.Value, ",") & "'"

대상 SP의 일부 코드는 다중 선택 문자열을 임시 테이블로 분할하여 결합으로 사용되는 출력을 생성합니다.

나는 우리가 왜 이런 식으로 그렇게했는지 기억이 나지 않습니다. 그것은 우리가 SSRS로 이사하기 시작했을 때 옳았으며 그 이후로 상황이 조금 움직였습니다. 그러나 그것은 당신이 설명하는 문제일지도 모릅니다.

다른 팁

같은 오류가 발생했습니다. 스칼라 변수를 선언해야합니다.

이제 가장 먼저 확인해야 할 것은 텍스트로 텍스트를 입력하거나 저장된 Proc를 저장된 Proc 유형으로 입력 할 때 SSRS가 데이터 세트 속성의 매개 변수 탭에서 매개 변수 항목을 자동으로 생성한다는 것입니다. 그것이 만들어지지 않으면 쿼리를 올바르게 읽을 수 없습니다.

제 경우에는 OpenQuery를 사용하여 분석 서비스 큐브를 호출하고 많은 사각형 괄호가 포함 된 필드 이름을 참조했습니다. 불행히도 SSRS는 코드를 재구성하여 [측정].

다른 도구에서 해당 쿼리를 편집 한 다음 SSRS로 다시 코피하면 SSRS가 해당 구문을 읽을 수 없습니다! 비록 그것을 생성하더라도! 따라서 여분의 사각형 브래킷을 모두 제거하고 이중 인용문과 붐을 다시 작동하고 매개 변수를 생성합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top