【发布时间】:2009-09-13 21:56:32
【问题描述】:
我使用的是 SQL Server Reporting Services 2008。我有一个数据集,它在多个报表之间共享——每个报表对数据进行分组或格式化数据不同。是否可以进行配置,以便在构建这些报告之一时从 SQL Server 中提取数据,然后在 SSRS 中缓存一段可配置的时间?假设我可以对数据库表进行选择,但不能创建对象。
【问题讨论】:
标签: sql-server reporting-services
我使用的是 SQL Server Reporting Services 2008。我有一个数据集,它在多个报表之间共享——每个报表对数据进行分组或格式化数据不同。是否可以进行配置,以便在构建这些报告之一时从 SQL Server 中提取数据,然后在 SSRS 中缓存一段可配置的时间?假设我可以对数据库表进行选择,但不能创建对象。
【问题讨论】:
标签: sql-server reporting-services
这是另一种选择,虽然很复杂,但可能符合您的要求。
让所有报告都使用XML data source。然后将该 XML 数据源创建为 ASP.Net 网页或 Web 服务。配置并使用SQL Cache Dependency 控制何时再次查询数据库。
现在,只要任何报告要求提供数据,它就会被缓存在您的“中间层”中。
【讨论】:
很遗憾没有。
您的主要选择是调查 "Report Snapshots" 以显式缓存报告(并间接缓存数据)
否则:
您可以将报告更改为具有大量条件格式等,这样您就只有一份报告。每个用户会话会自动进行一些缓存,但不会太多
在本地处理模式下使用ReportViewer控件,使用ASP.NET缓存数据
【讨论】:
您现在可以在 SSRS 2008 R2 中:
http://msdn.microsoft.com/en-us/library/ms170438.aspx - 共享数据集
http://msdn.microsoft.com/en-us/library/ms155927.aspx - Reporting Services 中的报表缓存
执行 SQL!
【讨论】: