2017-11-23 9 views
1

이것은 약간 이상합니다. SSRS Report Builder 3.0을 사용하여 보고서를 만듭니다. 두 가지 옵션이 있습니다. 1. 보고서 매개 변수와 연결된 필터를 사용하거나 2. 보고서 매개 변수와 연결된 쿼리 매개 변수를 사용합니다.SSS 보고서 작성기 3.0 쿼리 매개 변수 - 보고서 미리보기

첫 번째 경우 보고서 미리보기가 완벽하게 작동합니다.

Select ID, Name from tbl_Table 

을하지만 보고서 매개 변수에 연결된 쿼리 매개 변수를 사용할 때 미리보기가 비어 있습니다 : 나는 ID 열을 매개 변수 (@parameter_a)와 필터에 대한 간단한 쿼리를 적용하여 사용하고 있습니다. 검색어 매개 변수에 대해 아래 검색어를 사용합니다.

SELECT ID, Name FROM tbl_Table WHERE ID = @parameter_a 

나는 이것에 대해 간략하지 않습니다. 나는 또한 디폴트 값을 유지하거나 제거하려고 시도했다. 보고서 새로 고침 /보기가 작동하지 않습니다.

추신 : 나는 MySQL ODBC 연결을 사용하고 있습니다. C# 응용 프로그램에서 사용할 때 보고서의 두 옵션 모두 제대로 작동하고 프로그래밍 방식으로 렌더링됩니다. 현재 버전, 이전 버전을 다시 설치하려고 시도했습니다.

답변

1

MySQLCommand documentation을 읽는 중 오래된 매개 변수 구문에 대한 참조가 있습니다 (이 시나리오에서 사용중인 MySQL 버전이 확실하지 않음).

paramters에 '@'기호를 사용하는 것이 가장 좋은 방법입니다. '?' 여전히 지원됩니다. 사용자 변수 도 사용되면 '@'를 사용하면 충돌이 발생할 수 있습니다. 이 상황을 돕기 위해 '사용자 변수 허용'연결 문자열 옵션에 대한 설명서를 참조하십시오. '이전 구문'연결 문자열 옵션이 이제 사용되지 않습니다. 대신 @를 사용

, 당신은 ?으로 시도 할 수 있습니다 :

SELECT ID, Name FROM tbl_Table WHERE ID = ? 

쿼리에 사용 된 매개 변수의 순서는 SSRS 보고서 매개 변수의 순서와 일치해야합니다.

+0

SSRS에서 매개 변수를 인식하지 못합니까? 전임자. @로 시작하는 매개 변수가 필요합니다. –

+0

그게 다예요 ... 정렬되었습니다. 도움을 많이 주셔서 감사합니다. –

+0

@ 대니얼 내 데이터 집합에서 MySQL 저장된 프로 시저와 비슷한 문제가 있습니다. 나는 쿼리 타입을 텍스트로 사용하고 있는데'call testProc ( \t?,?,?,?,?,? );을 사용하고 있지만''아무런 결과도 반환하지 않습니다. 나는 데이터 집합의 매개 변수 섹션에서 올바른 순서로 매개 변수를 언급하고 있습니다. 쿼리에서 매개 변수 필터를 제거하여 모든 행을 반환하도록 proc을 변경하면 내 SSRS 보고서에도 결과가 표시됩니다. 어떤 제안이 도움이 될 것입니다. –