我们有一份2005年的报告,可以是2到250页左右,平均值是10个。当报告开发完成后,我们的开发人员被告知10页左右是正确的数字,并且不知道业务领域非常好,他认为报告服务是正确的方法。
现在报告已部署到PROD,我们对报告超时的一些抱怨。考虑到所要求的报告的大小(250页),开发人员或我对此都不会感到非常惊讶。
我的问题是我们有什么选择可以使用我们当前的报告,该报告在95%的时间内工作并使其适用于剩余的5%?是否有任何配置选项可以改善渲染性能或类似的东西?
该报告用于返回 授权所以的大小 回报可以。每个授权 页面有4个不同的返回标签 标识和条形码。
澄清:
从报表服务到报表查看器可以非常快速地呈现报表,但是当我们导出到PDF时,需要一段时间才能加载。
答案 0 :(得分:20)
您可以使用以下任何一种方法:
1)修改SessionTimeout和SessionAccessTimeout系统属性。
以下是rs.exe的示例脚本,它将为您设置这些值:
Public Sub Main()
Dim props() as [Property]
props = new [Property] () { new [Property](), new [Property]() }
props(0).Name = "SessionTimeout"
props(0).Value = timeout
props(1).Name = "SessionAccessTimeout"
props(1).Value = timeout
rs.SetSystemProperties(props)
End Sub
您可以使用以下命令运行此脚本:
rs -i sessionTimeout.rss -s http://yourserver.com/reportserver -v timeout="6000"
超时以秒表示,因此本示例将SessionTimeout和SessionAccessTimeouts设置为大约一个半小时。
(通过http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx)
2)通过报表管理器更改报表执行超时 打开报表管理器 在页面顶部,单击“站点设置”。这将打开站点的“常规属性”页面。
报告执行超时 指定报告处理在一定秒数后是否超时。 (通过http://msdn.microsoft.com/en-us/library/ms181194.aspx)
3)设置HttpRuntime ExecutionTimeout
<system.web>
<httpRuntime executionTimeout = "10800" />
</system.web>
4)增加报表服务器上的脚本超时
5)将报告设置为永不超时服务器
答案 1 :(得分:3)
SSRS中的每个报告都有一个报告执行超时设置。默认情况下,它们设置为使用默认系统设置,但可以通过报告管理器或SSMS自定义它们。
您确定它不是数据库命令超时吗?这可以在连接字符串中进行调整。报告是低效还是查询? SSRS报告250页真的没那么糟糕。我们经常运行大量报告。 SSRS实际上胜过我们使用的大多数其他报告引擎。