当我在SQL Server Reporting Services中生成的报表的“数据”选项卡中运行查询时,我得到了正确的结果(nov和dec数据)。当我预览报告时,我会从10月份获得旧数据。这对我没有任何意义。我不知道最近发生了什么。注意:数据在Oracle中。
这是我正在使用的日期过滤器
receipt_date + 2 <= SYSDATE
查询在SQL Developer和Visual Studio中的.rdl设计器的“数据”选项卡中运行良好...当我运行报表时,不在“预览”选项卡中......那是我获取10月数据的时候。
任何人都知道这里发生了什么?
答案 0 :(得分:24)
SSRS在本地缓存数据以供设计人员使用。只有当开发人员使用一组不同的参数在VS.NET中预览报表时,才会更新缓存的数据,在您的情况下,由于报表没有参数,因此不会发生这种情况。
要允许SSRS刷新缓存数据,请导航到包含设计时RDL文件的目录,并删除任何扩展名为“.data”的文件。
答案 1 :(得分:9)
这太晚了,但也许这可以在将来帮助其他人。
在开发SQL Reporting Services报告时,一个非常烦人的功能是在测试报告时本地缓存预览数据,而不是在每次运行时获取。即使明确刷新数据也并不总能解决这个问题。解决此问题的最可靠方法是删除与报告RDL文件关联的.data文件。这些数据文件与报告定义存储在同一文件夹中。
虽然您可以手动删除这些文件,但对BIS进行以下15秒的配置更改会使删除所有数据缓存的过程与菜单选择一样简单。
让我们看看如何实现这一目标。
在Visual Studio中 - &gt;
答案 2 :(得分:3)
唯一对我有用的东西(在2008 R2中)是删除.data文件并重建报告。预览选项卡上的刷新按钮不执行任何操作也不编辑RSReportDesigner.config文件(位于 C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ PublicAssemblies < / em>的)。很沮丧。如果我更改查询或sp逻辑,我现在必须手动删除报表项目目录中的.data文件,以便查看最新的数据呈现。
希望在SSRS 2012数据工具中修复此问题。
答案 3 :(得分:1)
答案 4 :(得分:1)
Greg帖子中的链接指向此解决方法,在Greg发布后添加:http://blog.summitcloud.com/2010/05/disable-reporting-services-data-cache-in-development/这解释了哪个配置文件控制数据缓存,并说刷新预览实际上可以为您提供新数据。 (我现在正在运行一个长查询,所以我还不知道是否有效。)
答案 5 :(得分:1)
尝试按“预览”选项卡上的“刷新”按钮。
如果我理解得当,那与我的问题是一样的。
我可以在“报告数据”窗口中看到查询成功运行,但每当我运行报告的预览时,我都没有得到任何结果。
我意识到经过一些麻烦后,我需要做的就是点击“刷新”按钮(“预览”选项卡上的迷你图标),以使用新数据刷新预览。
答案 6 :(得分:0)
数据集的参数有什么不同吗?报告参数是否会提供数据集?如果是这样,他们是什么? 报告是服务器报告吗?如果是这样,服务器上设置的时间是多少?
答案 7 :(得分:0)
没有报告参数.....每次都运行完全相同的sql。当你询问报告是否是服务器报告时,我不确定你的意思。
答案 8 :(得分:0)
我有一个我无法测试的理论。此报告未部署到报表管理器,但正在从Visual Studio运行。我不知道这是否有所作为。
答案 9 :(得分:0)
对我来说按BIDS VS2010中的刷新按钮不起作用。也没有删除缓存文件。我的问题是我没有一个Row Group - 所以它只显示了一条(旧的)记录。