나는 제대로 작동 한 매개 변수를 보내 왔다는 보고서가 있습니다. 보고서 매개 변수는 선언 : 나에게 3 개 값의 문자열 배열로 초기화되는 새로운 보고서 매개 변수를 제공ssrs ReportParameter 생성자 문자열 배열 제한?
string[] pclist = new string(){ "A", "B", "C" };
ReportParameter pcode = new ReportParameter("pcode", pclist, false);
합니다. 여태까지는 그런대로 잘됐다. 보고서 내부
는 'PCODE'매개 변수는 '문자열'로 정의되며, 같이 사용됩니다 : 매개 변수의 값은 로그인 한 사람에 따라 변경해야하기 때문에,...
and PCode in (@pcode)
...
최근 , 우리는 매개 변수가 메서드 호출의 반환 값에서 문자열 배열을 가져 오도록이 코드를 변경했습니다. (이 방법은 데이터베이스로부터의 값을 얻는다)
ReportParameter pcode = new ReportParameter("pcode", FetchParams("X"), false);
FetchParams ("X") 데이터베이스에서 선별을 수행하고 값의 캐릭터 []를 반환한다. 대부분의 경우 잘 작동합니다. 그러나 때로는 보고서가 실행되지 않습니다 만 오류 메시지를 반환 : 우리가 결정 무엇
The 'pcode' parameter is missing a value
때때로 값의 수십 FetchParams ("X")에 의해 반환 될 수 있다는 것입니다. 문자열 []의 값 수가 너무 커지면 해당 오류 메시지와 함께 보고서가 실패합니다. 분명히 ReportParameter 객체를 인스턴스화하는 데 사용할 수있는 값의 수에 상한선이 있습니다.
절에 으로 처리 할 수있는 값의 수는 제한적으로 SQL Server 자체에서 제한 될 수 있다고 생각했습니다. 그러나 오류 메시지가이 결론을 지원하지 않는 것 같습니다.
편집 :이 특별한 경우에 시행 착오가 나타났습니다. 33은 문자열 배열의 값 개수에 대한 상한선입니다.
누구든지이 문제에 경험이 있습니까?
ReportParameter ctor에 전달 된 배열의 값 수에 상한값이 있습니까?
더 큰 숫자로 상한을 구성하는 방법이 있습니까?
모든 도움을 주실 수 있습니다. 덕분에 !