为什么我的SSRS报告显示旧数据?

Kon*_*Kon 22 reportingservices-2005 reporting-services

我有一个实时报告,它以某种方式显示缓存数据,尽管事实上我已禁用所有缓存(我知道).当我在BIDS查询编辑器中运行查询时,它显示当前数据.但是在BIDS预览和实际部署的报告中,它仍然显示过时的数据.

我尝试在报告网站的报告属性中切换报告缓存,然后我进入IIS HTTP标头属性并将内容设置为"立即过期".我之前在BIDS预览窗口中看到过这个问题,因为.data文件与报告定义一起存储(我已经删除/刷新了几次),但我从未见过现实报告.

在某个地方我还有其他缓存选项吗?

编辑:该报告还有一个用户选择的参数,这使得这更令人困惑,因为我的印象是,即使启用了缓存,参数也会导致SSRS使用最新的数据.

Nag*_*ead 33

在SSRS的开发模式中,我通常删除report_name.rdl.DATA文件.那就是数据是从上次运行中保留的.

花了几个小时才弄清楚这是我的问题,更改源数据和报告看起来像上次运行.

编辑:请注意不要删除.rdl报告文件(它是要删除的"report.rdl.data"文件以刷新结果集).

  • Steam,尝试删除report.rdl.DATA文件.下一次运行将使用report.rdl.DATA文件中的任何内容.有时退出SSRS应用程序也会有所帮助. (3认同)

Als*_*azz 25

旧帖子,但我仍然遇到这个问题,并发现了一篇关于如何在外部工具下放置选项以使其更容易的文章.

  1. 转到工具>外部工具...
  2. 使用以下设置添加新工具:
    • 标题:清除报告数据缓存
    • 命令: "%WinDir%\System32\cmd.exe"
    • 参数: /C DEL /S /Q "$(SolutionDir)\*.rdl.data"
    • 检查选项:使用"输出"窗口并在退出时关闭

现在,只要您想删除报表数据缓存,只需转到"工具">"清除报表数据缓存"即可

完整文章:http://jasonfaulkner.com/ClearDataCacheBIS.aspx

  • 我为此得到了太多的代表。杰森福克纳是应得的人。 (2认同)

小智 5

这些选项都不适合我 - 然后我在数据源属性中勾选了“处理查询时使用单个事务”,预览开始使用最新数据运行。


小智 5

在 Visual Studio 2017 中,单击相关报告的“预览”选项卡。

在图标工具栏上有一个刷新图标,当您单击它时,它将从您的数据库中提取最新数据:

在此处输入图片说明


小智 1

始终使用最新数据运行此报告 不要缓存此报告的临时副本

  1. 仔细检查是否在通过 ReportManager 处理选项下选择了上述选项。
  2. 检查您的数据集是否正在查询当前数据。
  3. 刷新报告。

这很奇怪。