【发布时间】:2014-09-14 16:23:44
【问题描述】:
我正在使用 SSRS 来管理我们的报告需求。我已经在 BIDS 中构建了第一个报表并将其部署到报表服务器。我可以使用(基于浏览器的)报告管理器运行报告。
由于某种原因,我无法使用基于 WinForms 的报表查看器组件来显示报表。参数显示正确,但是当我点击“查看报告”时,我得到:
报告执行......已过期或找不到。 (rsExecutionNotFound)
根据this question,我怀疑这可能是超时问题。但是报告运行得非常快,当我将超时选项(报告和服务器级别)设置为“不要超时报告”时,问题并没有消失。
我已阅读elsewhere,该问题可能是由 Report Server 和 SQL Server 之间的时区设置不同引起的。然而,这似乎并不能解释我的问题,因为我仍然能够使用基于浏览器的界面生成报告。
什么可能导致我的报告仅在 ReportViewer 组件中失败?
更新 - 正如@lrb 所建议的,我查看了日志。报告查看器组件中的错误似乎与以下内容相关:
library!ReportServer_0-9!2dcc!07/23/2014-17:45:14::e 错误:抛出 Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException:,Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException:报告执行 hcy3t555yc0rqp45rpovkz55 已过期或找不到。 webserver!ReportServer_0-9!2dcc!07/23/2014-17:45:14::e 错误:报告服务错误 Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException:报告执行 hcy3t555yc0rqp45rpovkz55 已过期或找不到。 在 Microsoft.ReportingServices.WebServer.HttpClientRequest.InitForRequest(CatalogItemContext 上下文,UserContext userCtx) 在 Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderReport() 在 Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.DoStreamedOperation(StreamedOperation 操作) 在 Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderPageContent() 在 Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderPage()
在我(诚然没有经验)看来,这并没有比我在报告查看器中看到的信息更丰富;即“报告执行已过期或找不到”也许我错过了什么?
【问题讨论】:
-
您使用的是 ReportViewer 2010 吗?
-
在发生这种情况时查看 SSRS 错误日志。将会有更具体的信息说明出了什么问题。
-
@Alwaysariyana 我使用的是 ReportViewer Windows 窗体组件,而不是独立应用程序。
-
@lrb 好主意 - 添加了摘录。你能从中得到什么有用的东西吗?
-
这与 ssrs 会话超时有关。如果您运行的报告需要很长时间才能呈现,然后选择导出到文件,但报告服务上的会话已经超时,则会发生同样的错误。它向 ssrs 发出请求以呈现为文件,但会话消失了。
标签: winforms reporting-services ssrs-2008 reportviewer ssrs-2008-r2