如何从 Reporting Services 获取有关错误:rsProcessingAborted 的更多信息?

问题描述 投票:0回答:1

我的公司最近为我们的托管应用程序和数据库添加了一台新服务器(两者均为 Windows Server 2022),这是我们之前的服务器(Windows Server 2019 / 2012 R2)的升级。在数据库服务器上,我们还托管用于报告的报告服务。

迁移生产应用程序(2019 -> 2022)以及数据库和报告服务(2012 R2 -> 2022)后,一切似乎都工作正常,生产应用程序访问数据库和报告服务以生成 PDF 供下载。

但是,仍然存在一个问题,那就是 Reporting Services 的“预览”功能。我们的网络应用程序为用户提供了使用 RS 的通用 UI 门户在浏览器中“预览”报告的选项。然而,当尝试使用此功能时,用户会收到消息:“报告处理期间发生错误。(rsProcessingAborted)”,但没有更多信息。将原始 Web 应用程序 (2019) 指向新的 Reporting Services 数据库 (2022) 时,此错误仍然存在。但是,将新的服务器 Web 应用程序 (2022) 指向旧的 Reporting Services 数据库 (2012 R2) 会在浏览器中提供预览报表的预期结果。这告诉我们应用程序的代码没有任何问题。

当生产代码从我们内部网络上的本地计算机 (Visual Studio 2022) 运行并指向新的 (2022) Reporting Services 数据库时,这一点得到进一步证实:报告按预期预览,没有错误。在所有情况下,报告仍然能够生成 PDF 格式以供下载,不会出现错误。

因此我的问题有两个:

  1. 有没有办法检索有关此错误的更多信息?新的 Reporting Service 数据库 (2022) 上的日志文件没有显示任何有帮助或有用的内容。最近更新的日志文件 RSHosting 显示“2024-02-14 08:44:50.5552|INFO|9|Catalog 最大连接池大小:100”,但没有任何类型的错误。另一个日志文件 RSPortal 显示“2024-02-14 08:32:15.7037|INFO|104|收到请求 GET /api/v2.0/CatalogItems(Path='/[report-path]')| RequestID = s_710cbb81-4fff-4776-9ea5-7927d77baf5e”后跟“2024-02-14 08:32:15.7037|INFO|108|发送响应。响应代码 [app-user-requesting-report] 200,已用时间 0:00: 00.0063338|请求ID = s_710cbb81-4fff-4776-9ea5-7927d77baf5e”。同样,没有错误,并且此日志文件仅与 RS Portal 相关;未列出有关 api 的其他连接的信息。还有其他地方保存日志文件吗?

  2. 将 Reporting Services 从版本 12(旧服务器,2012 R2)升级到更新版本 v 16(新服务器,2022)时是否会出现潜在的兼容性问题?当通过 VS2022 在我们内部网络的本地计算机上运行时,访问这些不同服务器的 Web 应用程序再次按预期工作。同样的代码在预览报告时显示错误,再次在我们的内部网络上运行,但来自较新的服务器(2022 年)。

其他信息:生产中的 Web 应用程序是用 .NET Framework 4.7 编写的,并使用 Reporting.Webforms 库来访问 RS、RE2005 和 RS2005 库。除了 URL(从一台服务器指向另一台服务器时,在 Web 应用程序中会发生更改)和服务帐户(已被允许访问)之外,新旧服务器上的 Reporting Services 设置基本相同。此外,RS 的网络门户可从新的网络应用程序服务器 (2022) 访问,并按浏览器中的预期返回报告。 RS 服务器均未使用 SSL。

再次重申,报告预览唯一不起作用的地方是通过我们的 Web 应用程序托管在运行 Windows 2022 的新服务器上,当连接到运行 Windows 2022 的新 RS 服务器时。所有其他配置/实例都允许预览报告报告。

感谢您的阅读!

c# reporting-services
1个回答
0
投票

我最近迁移到一组新服务器时遇到了非常类似的问题,为我们解决问题的方法是确保 .NET 应用程序的 Web 配置文件列出了正确的程序集。

由于我们升级了 Report Services 服务器,因此必须调整引用 ReportViewerControl 的任何条目的版本号和公钥令牌。

在您的 Web 配置文件中,查找以下三个位置:

<buildProviders>
<httpHandlers>
<handlers>

在每个位置,您都应该找到对 ReportViewerWebControl 或 RdlBuildProvider 的引用。将“版本”号更新为适当的版本(我们的版本为 15),然后也更新每个版本的 PublicKeyToken。确保所有三个都匹配(我们有一个不匹配)。

来自 Microsoft 的此链接对于获取密钥非常有帮助

注意:在“程序集”部分中,我们还有 7 个 ReportViewer 程序集条目已更新为 15 个,引用与报表服务器相关的 nuget 包,因此也请检查该区域。

© www.soinside.com 2019 - 2024. All rights reserved.