Consider this scenario,
Using Report Builder 2.0 or 3.0, you create a report which takes more than 10 minutes to render. When we run the report (Directly Preview without saving it in report server) it comes up fine.
But after saving the report in report server and then run it from report builder, the report preview fails exactly after 10 mins with the error “The operation has timed out”.
At the same time of failure the Report Server verbose log also shows the following:
httpruntime!ReportServer_0-1!8bc!04/28/2010-05:18:19:: v VERBOSE: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeClientDisconnectionException: A client has disconnected from the Report Server Web service application domain ReportServer_SQL2K8_0-1-129168836942010651. No corrective action is required. An error code has been submitted to ASP.NET to release the connection. The error code is 80070040., ;
Info: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerHttpRuntimeClientDisconnectionException: A client has disconnected from the Report Server Web service application domain ReportServer_SQL2K8_0-1-129168836942010651. No corrective action is required. An error code has been submitted to ASP.NET to release the connection. The error code is 80070040. ---> System.Runtime.InteropServices.COMException (0x80070040): The specified network name is no longer available. (Exception from HRESULT: 0x80070040)
at ReportingServicesHttpRuntime.BaseWorkerRequest.SendHttpResponse(Boolean finalFlush)
at ReportingServicesHttpRuntime.RsWorkerRequest.FlushResponse(Boolean finalFlush)
--- End of inner exception stack trace ---
When previewing a report in report builder without saving it in Report Server (local mode) we’ve the timeout to be near infinite and that is the reason why we don’t see the issue when we run the report offline.
But the report which is running in Server Mode, we've a timeout cap of 10 minutes, which is not configurable.
So what you can do to over come this error,
For Report Builder 2.0:
Nothing much you can do with respect to Report Builder 2.0. But all you can do is save the copy of the report in your local drive and then open the report back in report builder 2.0. Now you can preview the report as it will be in the Local Mode.
For Report Builder 3.0:
The above option of Report Builder 2.0 does apply here. But there is much more simple way out here.
All you need to do here is, Go to the status bar of Report Builder 3.0. If it is in connected mode you'll find a Disconnect link just after the Report Server URL. Click on Disconnect and that will revert back the preview to local mode.
You can easily recreate the above mentioned scenario:
1. Using the Report builder 2.0 or 3.0, create a new report.
2. Use any SQL data base for connection.
3. Use the following query to make sure the report runs more than 10 minutes.
WAITFOR DELAY '00:11:05'
SELECT GETDATE() CurrentTime
4. Save the report to a Report Server.
5. Run the report now (Preview).
6. Exactly after 10 minutes, the report will show the message "The Operation has Timed Out".
Hope this helps!
[All the posts are AS-IS and doesn't carry any warranty]