从SSRS2014升级到SSRS2016时,我遇到了鸡蛋问题。
所以我想迁移到新的报表服务器,然后通过旧的查看器为IE用户显示报表。所以我的测试Web服务器同时具有新的和旧的报告组件。如果客户端使用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。使用新控件进行打印DOESN&T使用IE。
(如果100多名用户每天打印50多份报告,则必须下载pdf并打印出一个很大的差异。)
https://docs.microsoft.com/en-us/sql/reporting-services/report-server/enable-and-disable-client-side-printing-for-reporting-services说: " 以前版本的Reporting Services使用的ActiveX控件需要从报表服务器下载到客户端计算机。如果将报表服务器升级到SQL Server 2016,则不会从报表服务器或客户端计算机中删除打印控件。"
这表明新服务器也可以通过旧的报表查看器控件进行ActiveX打印。如果可行,我可以将新控件放在旧控件旁边,然后逐渐将用户迁移到现代浏览器。
有没有人在没有重新启动和安装SQL Server 2014并升级的情况下工作?
答案 0 :(得分:0)
将SSRS报告从2014年迁移到2016年。只需按照以下步骤操作: