1
votes

I'm using SSRS to manage our reporting needs. I've built the first report in BIDS and have deployed it to the report server. I am able to run the report using the (browser-based) Report Manager.

For some reason, I am unable to display the report using the WinForms-based Report Viewer component. The parameters are displayed correctly, but when I click "View Report" I get:

The report execution ..... has expired or cannot be found. (rsExecutionNotFound)

As per this question, I suspected that it could be a timeout issue. But the report runs very quickly and the issue does not disappear when I set the timeout options (both at report and server level) to "Do not timeout report".

I've read elsewhere that the issue can be caused by a difference in timezone settings between Report Server and SQL Server. This doesn't seem to explain my issue however, as I am still able to generate reports using the browser-based interface.

What could cause my report to fail solely in the ReportViewer component?


UPDATE - As suggested by @lrb, I had a look at the logs. The error in the Report Viewer component seems to correlate with the following:

library!ReportServer_0-9!2dcc!07/23/2014-17:45:14:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: , Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: The report execution hcy3t555yc0rqp45rpovkz55 has expired or cannot be found.; webserver!ReportServer_0-9!2dcc!07/23/2014-17:45:14:: e ERROR: Reporting Services error Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: The report execution hcy3t555yc0rqp45rpovkz55 has expired or cannot be found. at Microsoft.ReportingServices.WebServer.HttpClientRequest.InitForRequest(CatalogItemContext context, UserContext userCtx) at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderReport() at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.DoStreamedOperation(StreamedOperation operation) at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderPageContent() at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderPage()

To my (admittedly inexperienced) eyes, this isn't really any more informative than what I was seeing in the Report Viewer; i.e. "The report execution has expired or cannot be found" Maybe I'm missing something though?

1
Are you using ReportViewer 2010? - JesalynOlson
Take a look at the SSRS error log when this happens. There will be more specific information as to what is going awry. - Ross Bush
@Alwaysariyana I'm using the ReportViewer Windows Forms component, not a standalone application. - Tom Wright
@lrb Good idea - have added an excerpt. Can you glean anything useful from it? - Tom Wright
This has to do with a ssrs session time out. This is the same error that would occur if you ran a report that takes a long time to render and then then selected export to file, but the session on reporting services has since timed out. It make a request back to ssrs to render as file but the session is gone. - Ross Bush

1 Answers

0
votes

Moving from design-time report selection (using the smart tag) to run-time selection (using the SOAP interface) seems to have resolved this issue.

My guess is that the reportViewer.RefreshReport(); call is responsible. This would suggest that Report Viewer will always try to grab an old version of the report, rather than requesting a new one. Since increasing the timeout didn't help at all I'm not sure why this behaviour would be useful, but I'd happily be corrected on this point.