Execution 'iwy2vpzo52pmp555ftfn4455' cannot be found (rsExecutionNotFound)

前端 未结 6 1932
Happy的楠姐
Happy的楠姐 2021-01-13 00:56

Some users get the following error when running reports.

• Execution \'iwy2vpzo52pmp555ftfn4455\' cannot be found (rsExecutionNotFound)

They run fine in t

相关标签:
6条回答
  • 2021-01-13 01:03

    I can help.

    The problem is that the ReportViewer control uses Session to store the currently executing report. Once you navigate away from the reports, the item still remains and eventually loses its "execution context", which is the way Report Server caches reports.

    Therefore, before browsing a report, you should attempt to clear out the Session of these reports, so that there are NO cached reports in the Session, and the ReportViewer control can work properly.

    You will also find that sometimes when accessing Session.Keys.Count, this error can occur, as again, the execution context has failed.

    Make sure you do this on the page showing the report!!

    The 2 options are:

    if (!IsPostBack)
    {
        HttpContext.Current.Session.Clear();
        ReportViewer1.ServerReport.ReportServerUrl = new Uri(ReportServerUrl, System.UriKind.Absolute);
        ReportViewer1.ServerReport.ReportPath = ReportPath;
        System.Collections.Generic.List<ReportParameter> parameters = new System.Collections.Generic.List<ReportParameter>();
        ....
    
        ReportViewer1.ServerReport.SetParameters(parameters);
        ReportViewer1.ServerReport.Refresh();
    }
    

    Or

    for (int i = 0; i < HttpContext.Current.Session.Keys.Count; )
    {
       if (HttpContext.Current.Session[i].ToString() == "Microsoft.Reporting.WebForms.ReportHierarchy")
           HttpContext.Current.Session.RemoveAt(i);
       else
          i++;
    }
    
    0 讨论(0)
  • 2021-01-13 01:06

    I am using SSRS 2017 and was running into this issue when trying to load a report into my MVC project using URL Access. The issue for me had to do with session.

    To check this for yourself, you can try deleting the RSExecutionSession cookie and reload your report. Unfortunately, this is only a temporarily fix.

    If this does work, try adding rs:ClearSession=true to your query string.
    You can read about this setting here.

    0 讨论(0)
  • 2021-01-13 01:06

    This error was causing my application to display a run time error.

    I added this to the Global.asax class to resolve the error. Tried Server.Clear but got nothing. Session.Clear got rid of the error completely.

    Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
        If ex.InnerException IsNot Nothing Then
                If ex.InnerException.ToString.Contains("The report execution") AndAlso
                   ex.InnerException.ToString.Contains("rsExecutionNotFound") Then
                    Session.Clear()
                    Return
                End If
            End If
    End Sub
    

    While it may not be 100% applicable to the question above, I haven't been able to find any other resolution.

    0 讨论(0)
  • 2021-01-13 01:07

    Look for a trailing space on the report path. This was the cause for me.

    0 讨论(0)
  • 2021-01-13 01:07

    On the web.config's impersonation, use identity

    impersonate="true" 
    userName="xxxxx" 
    password="xxxxx"  
    

    instead of : !--<identity impersonate="true"

    Hope it helps

    0 讨论(0)
  • 2021-01-13 01:11

    If you're running SQL Server Express edition, the SQL Server Agent isn't running to clean up your old SSRS sessions. You'll need to run a job on SSRS DB to clean up the old sessions.

    My report took 10 seconds to run and 2 seconds to export - so it wasn't to do with the session expiry length.

    I'd get the error when exporting a report to excel into my app an hour after I exported the report.

    0 讨论(0)
提交回复
热议问题