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

时间:2013-08-13 13:12:17

标签: reporting-services reportingservices-2005

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

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

我缺少哪个缓存选项?

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

9 个答案:

答案 0 :(得分:33)

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

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

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

答案 1 :(得分:22)

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

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

    全文:http://jasonfaulkner.com/ClearDataCacheBIS.aspx

答案 2 :(得分:3)

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

答案 3 :(得分:2)

我发现在SSRS 2010中使用VS时,预览模式只会显示旧数据。如果我转到数据集查询并点击刷新,那么新数据将会降低,然后预览将显示新数据。这很烦人,但阅读它我明白部署的报告会刷新自己好。我无法证明这个理论,因为我无权查看我的部署报告,这更令人讨厌。无论如何,我从各个帖子中获取了一些提示并将报告属性中的AutoRefresh属性从0更改为1.然后当我进入预览模式时,报告更新了OK但每1秒更新一次。现在我得到该属性的工作方式并将其设置为1000000.这意味着当您第一次进入预览时它会刷新一次,然后它会在1000000秒内再次刷新,这时我将退出预览模式并愉快地构建报告一些更多。我真的不知道这会对部署的报告产生什么影响,但我会想到的情况大致相同。也许有权访问其已部署报告的其他人可以提供建议。

答案 4 :(得分:1)

我在SSRS中发现,从报告中删除报告的数据源,然后重新创建它可以去除BIDS环境中的所有缓存数据 。但是,我从未在部署过的报告中看到过这样的行为。

您可以尝试从 SSRS服务器中删除共享数据源,然后重新部署它。也许它会导致类似的刷新。但是,如果部署的报告在生产环境中,我不一定会跳到这样的极端。

答案 5 :(得分:1)

对于那些寻求旧数据显示甚至报告buider显示当前数据的人来说,这可能会有所帮助。

我也在现有的实时报道中遇到这些问题。我在DB端更新了数据。但这种改变并没有奏效。我刷了好几次。仍显示旧数据。后来我发现我点击了报告的“查看报告历史记录”[如果您将鼠标悬停在报告名称中,则会显示此选项,然后单击Downarrrow]。 在报告历史记录页面的左侧,我进入了“处理选项”,在那里我可以看到两个无线电选项可用。

  1. 始终使用最新数据运行此报告
  2. 从报告快照中呈现此报告
  3. 不幸的是,我的报告有Point2选择。它每天早上7点安排。所以,早上7点之后,如果我们做了任何改变,我们就无法立即看到。我们必须等待第二天的快照。 BUt,我们可以通过选择Point1来改变这一点,这将为您带来最新的数据。

    希望这可以帮助那些正在处理SSRS报告的人。

    此致 Viswa V。

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

许多人忘记这样做,始终确保您的.rds文件是最新的。在SSRS中,重新构建和重新部署“共享数据源”和“共享数据集”以及您的报告。

  1. 选择“共享数据源”和“共享数据集”(.rds)文件。
  2. 单击鼠标右键,“构建”。
  3. 单击鼠标右键,“部署”。
  4. 现在从主机重新运行报告。

答案 8 :(得分:0)

在Visual Studio 2017中,单击有问题的报表的“预览”选项卡。

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

enter image description here