我有一个SSRS报告(SSRS 2012),当我尝试导出到Excel时,一分钟左右发生500次服务器错误后总是崩溃。SSRS导出到Excel结果(500)服务器错误
报告本身成功运行。而且我可以成功地将结果导出为CSV,在报告本身渲染后实际只需要几秒钟的时间。
我在遇到大于20000条记录的结果集时遇到此问题;我目前的例子有36000条记录 - 它导致Excel导出崩溃,但CSV导出成功。
我试过检查SSRS日志(C:\Program Files\Microsoft SQL Server\MSRS11.SQL2012\Reporting Services\LogFiles
)没有错误显示在那里,只有几个条目RenderForNewSession
和RenderFromSession
指向我的报告。
事件查看器应用程序日志显示了ASP.NET 2.0警告条目:
Exception information: Exception type: COMException Exception message: This network connection does not exist. (Exception from HRESULT: 0x800708CA)
还有其它任何地方,我会觉得非常有用的调试信息?如果我不需要,我真的不必指示客户端“不要将大型报告导出到Excel中,而是使用CSV”。或者当从SSRS网络报告查看器导出到Excel时,是否有任何已知问题或怪癖?
编辑:
一些进一步的挖掘后,我发现一些更多的信息,但还没有找到一个实际的解决方案。我确实找到了可以在日志中调出调试级别的位置 - 在ReportingSErvicesService.exe.config
文件中,有两个设置,DefaultTraceSwitch
和Components
,位于RSTrace
标记下方。它们的默认值为3
,但是每个碰撞到4
都提供了看起来很详细的日志记录输出。
这很有意思,但并没有真正指出我除了确认它看起来像客户端执行超时之外的任何新东西。
接下来我遇到了一个TechNet article that at least seems to describe the various places I might be able to set an SSRS timeout。从我可以告诉它,似乎Excel导出渲染器正在执行某个地方的执行超时,但所有SSRS设置似乎涵盖了足够的空间来运行任何东西。
如果web.config httpRuntime
executionTimeout
设置覆盖machine.config设置? TechNet文章暗示,machine.config设置似乎与导出时看到的超时一致,但ReportServer web.config的executionTimeout
设置比ASP.NET默认设置大得多。
感谢您的提示。它没有对标签做任何有趣的事情,它只是一个直接的数据转储。关于坏数据的有趣想法 - 我会看看是否可以限制一些行。它看起来好像与数据量有关 - 它发生在多个不同的报告上,大约在20k行左右。 –