可以为SQL Server 2012报告配置自定义错误处理程序吗?
我使用SQL Server 2012与SOAP数据源SSRS当服务超时报告用户看到他/她的浏览器下面的文字...报表处理期间发生可以为SQL Server 2012报告配置自定义错误处理程序吗?
- 错误。 (rsProcessingAborted)
- 共享数据集“XXXLookup”的执行失败。 (rsDataSetExecutionError)- 数据集“XXXLookup”的查询执行失败。 (rsErrorExecutingCommand)
- 未能对指定的URL执行Web请求。 (rsXmlDataProviderError)
®操作超时
- 未能对指定的URL执行Web请求。 (rsXmlDataProviderError)
- 数据集“XXXLookup”的查询执行失败。 (rsErrorExecutingCommand)
有配置在SQL Server 2012 Reporting Services的自定义错误处理程序提供用户友好的消息的方法吗? (我已经搜索并发现了类似的问题,并且答案通常是否定的,在2012年之前的版本中,rsRS错误不能被SSRS捕获。)
即使SSRS 2012在配置文件中包含“挂接到” SSRS事件,每秒MSFT,你不应该修改本节(从MSDN documentation):‘事件处理 指定默认的事件处理程序不要修改此节 这部分是不可扩展的。’
那么...那个离开你的地方呢?您可以修改SSRS的web.config部分,如here所述。当然,这只允许你用一个稍微友好的错误页面来替换默认的(不友好的)错误页面,但是不清楚如何在这个新的自定义错误页面上动态填充失败的REASON。其他客户有相同的issue,但MSFT没有人似乎在回答。
那么,我会在这里做什么?这将取决于您遇到此问题的报告数量。如果只有一小部分可能的报告,那么我可能会通过自定义扩展将报告中的逻辑放入报告中,如果报告没有在期望的时间段内返回数据,报告会在报告中填充文本框。
另一个更大的考虑是为什么这些报告渲染得如此缓慢?我会问用户的显而易见的问题,比如'是否有大量数据被返回?您需要/在每个报告中使用那么多数据吗?',以及'如果大量数据正在返回,可以它会被预先汇总(由源数据库)?''另外,我会考虑优化数据源处的查询,通过索引,更优化的查询语法等。
另一个考虑因素是何时报告超时?有一个特定的时间吗?那时网络上是否有拥塞?沿着这些相同的路线,用户是否可以接受一点延迟,以便报告可以通过计划快照呈现,这也可能加快他们的检索速度。
感谢您确认我无法陷入SSRS 2012,并且我的问题没有真正的解决方案。 – Don 2012-08-20 19:51:08