I have an SSRS report (SSRS 2012) that when I try to export to Excel, always crashes after a minute or so with a 500 server error.
The report itself runs successfully. And I can successfully export the result to CSV, which actually only takes a few seconds to do after the report itself has rendered.
I am experiencing this on result sets greater than around 20000 records; my current example has 36000 records - it crashes the Excel export but the CSV export is successful.
I've tried checking the SSRS logs (C:\Program Files\Microsoft SQL Server\MSRS11.SQL2012\Reporting Services\LogFiles
) no errors are shown in there, just a couple entries for RenderForNewSession
and RenderFromSession
pointing to my report.
The Event Viewer Application log shows a Warning entry for ASP.NET 2.0:
Exception information:
Exception type: COMException
Exception message: This network connection does not exist. (Exception from HRESULT: 0x800708CA)
Is there any place else I might find useful debugging information? I'd really rather not have to direct the client to "not export large reports to Excel, use CSV instead" if I don't have to. Or are there any known issues or quirks when exporting to Excel from the SSRS web report viewer?
EDIT:
After some further digging, I've found some more info but have yet to find an actual solution. I did find where I could turn up the debugging level in the logs - in the ReportingSErvicesService.exe.config
file there are two settings, DefaultTraceSwitch
and Components
underneath an RSTrace
tag. They have default values of 3
but bumping each to 4
provides what appears to be a verbose logging output.
That was interesting, but didn't really point me to anything new other than confirming that it looks like the client execution is timing out.
Next I've come across a TechNet article that at least seems to describe the various places I might be able to set an SSRS timeout. From what I can tell it seems like the Excel export renderer is hitting an execution timeout somewhere, but all of the SSRS settings appear to cover plenty of headroom for running anything.
Should the web.config httpRuntime
executionTimeout
setting override the machine.config settings? The TechNet article implies that the machine.config settings seems to line up with the timeout I'm seeing when exporting, but the ReportServer web.config has an executionTimeout
setting much larger than the ASP.NET default setting.