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", а затем использовали эту новую переменную в ваших запросах

надеюсь, что это работает и для вас

Другие вопросы по тегам