SSRS, использующий SP с параметром (перекомпилировать), все еще загружающий отчет, встроенный в asp.net ReportViewer
У меня есть отчет SSRS.
Когда я открываю отчет с помощью страницы браузера SSRS по адресу http://localhost/reportserver отчет работает нормально и загружает данные. Данные всего 4 строки.
Но когда я встраиваю отчет в Просмотрщик отчетов, загрузка занимает целую вечность, а значит никогда не загружает только показ статуса выполнения.
я добавил option(recompile)
но до сих пор нет результата.
Ниже мой SP
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
select s.Name,s.Id as STUDENT_ID,a.AttendanceStatus,a.AttendanceDate,
case when (select count(*) from
Attendance where AttendanceStatus='Present')>
(select count(*) from Attendance where
AttendanceStatus='Absent') then 'Regular' else 'Not Regular' end as IsRegular
from Student s
inner join Attendance a on s.Id=a.Student_ID
where s.Id=@Student_Id
option(recompile)
КОНЕЦ
Ниже приведен мой код C#, который я использовал для получения отчета в report Viewer.
ReportViewer1.ServerReport.ReportServerUrl = new System.Uri("http://localhost/ReportServer");
ReportViewer1.ServerReport.ReportPath = "/Report1";
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
Microsoft.Reporting.WebForms.ReportParameter[] Param = new Microsoft.Reporting.WebForms.ReportParameter[1];
Param[0] = new Microsoft.Reporting.WebForms.ReportParameter("Student_Id","1");
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ServerReport.SetParameters(Param);
1 ответ
Я не знаю никакой логики, но у меня была та же проблема, объявили новую переменную в вашем SP и сначала поместили в нее значение "@Student_Id", а затем использовали эту новую переменную в ваших запросах
надеюсь, что это работает и для вас