[.Net码农]RDLC打印控件失败

时间:2022-05-25 08:35:59

http://blog.sina.com.cn/s/blog_593b4d500100bkst.html




2008年10月17日微软安全更新KB956391导致报表服务的RSClientPrint控件不能工作了.

 

IE用到的RSClientPrint.Class报表打印控件有GDI+漏洞,微软的补丁直接将这个控件封杀了。

 

解决方法:
(第一步)
尝试给SQL Server 2005 Service Pack 2打补丁(KB954606),但似乎因为版本问题,不成功。
尝试给SQL Server 2005 Service Pack 2打补丁(KB954607) SQLServer2005-KB953752-x86-ENU.exe 成功。
下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=5148b887-f323-4adb-9721-61e1c0cfd213
版本: 9.00.3282.00
发布日期: 2008/9/8
SQLSERVER2005 SP2的版本变为3282,在相关目录中的RSClientPrint.CAB的版本也变成3282,日期是2008-8-5的。

 

(第二步)
停止IIS,卸载了ReportViewer.exe 2005的版本,新安装ReportViewer.exe 2008的版本9.0.21022.143,基于.net framework 3.5
下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6ae0aa19-3e6c-474c-9d57-05b2347456b1
安装成功后务必重新启动服务器。之前尝试安装ReportViewer.exe 2005的升级版本,但因为没有重新启动服务器,所以以为没有成功。

 

(第三步)
打开相关网页会下载RSClentPrint 2005 Class,打印功能正常。原来的RSClientPrint已经被废弃了。