2

从 SSRS2014 升级到 SSRS2016 时,我遇到了鸡蛋问题。

  • 我无法移动到新的报表查看器,因为我在 IE 上仍有用户。新的报告查看器无法在 Internet Explorer 上很好地打印:如果单击打印,您可以下载 pdf 然后打印它。由于我们打印大量报告,这不是可行的选择。
  • 由于旧的报表查看器,我无法从 Internet Explorer 迁移:ActiveX 打印控件只能在 Internet Explorer 中使用。

所以我想迁移到新的报表服务器,但通过旧查看器为 IE 用户显示报表。所以我的测试网络服务器既有新的也有旧的报告组件。如果客户端使用 Internet Explorer,我会使用旧的。否则,他们会得到新的。

在我的测试环境中,来自 SSRS 2016 的报告由旧报告控件正确呈现。(Microsoft.ReportViewer.WebForms 版本 11.0.0.0)但是,当我尝试打印时,客户端显示一个对话框“无法加载客户端打印控件”

在我的服务器上,抛出异常:

The report server could not find the internal resource '2015.130.1601.05rsclientprint.cab'. (rsInternalResourceNotFoundError) 

[ReportServerException: The report server could not find the internal resource '2015.130.1601.05rsclientprint.cab'. (rsInternalResourceNotFoundError)]
   Microsoft.Reporting.WebForms.SoapReportExecutionService.WritePrintCab(ClientArchitecture arch, Stream stream) +797
   Microsoft.Reporting.WebForms.ServerReport.WritePrintCab(ClientArchitecture arch, Stream stream) +75
   Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +304

我知道有一个新的报告控件,使 ActiveX 打印控件过时。但是,我想阻止大爆炸的实施。使用旧控件打印仅适用于 Internet Explorer,因此所有用户都使用 IE。使用新控件进行打印不适用于 IE。

(如果 100 多个用户每天打印 50 多个报告,则必须下载 pdf 并打印,这是一个很大的不同。)

https://docs.microsoft.com/en-us/sql/reporting-services/report-server/enable-and-disable-client-side-printing-for-reporting-services说:“以前版本的报告服务使用需要从报表服务器下载到客户端计算机的 ActiveX 控件。如果将报表服务器升级到 SQL Server 2016,则不会从报表服务器或客户端计算机中删除打印控件。 "

这表明新服务器也可以进行 ActiveX 打印,可能是通过旧的报表查看器控件。如果可行,我可以将新控件放在旧控件旁边,并逐渐将我的用户迁移到现代浏览器。

有没有人在不重新启动和安装 SQL Server 2014 和升级的情况下让它工作?

4

1 回答 1

0

要将 SSRS 报告从 2014 年迁移到 2016 年。只需按照以下步骤操作:

  1. 备份和恢复原始数据库
  2. 备份加密密钥
  3. 使用托管服务帐户在新服务器上安装 Ssrs 2016。
  4. 恢复数据库并从报告数据库的键表中删除服务器键条目。
  5. 配置 Ssrs 2016 以查看同一新实例上新恢复的数据库。
  6. 从备份中恢复密钥。

或访问此链接:https ://www.mssqltips.com/sqlservertip/2692/migrating-sql-reporting-services-to-a-new-server-by-moving-the-reporting-services-databases/

于 2017-06-07T06:14:22.457 回答