2014年9月13日 星期六

IE11 ReportViewer Printer crash

網站是架在WINDOWS 2003 32bit,資料庫則是SQL Server 2005,共用一台主機
開發則是用VS2012 .NET FRAMEWORK4.0,REPORT VIEWER是用

在WINDOWS 7(32  & 64位元)機器上以 IE11測試網站功能,結果RDLC的報表工具列整個走樣。

GOOGLE後,在MASTER PAGE<HEAD>修改
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 為

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

工具列顯示正常了,但印表機圖示不見了??

再GOOGLE,將網站加入相容性檢視後,印表機小圖出現了,初次點選要安裝ACTIVEX元件
,完畢後,按下印表機,結果IE直接CRASH嗝屁了....

再GOOGLE,大都是SQL2008R2後的解決方法,不外乎都是說上到.NET 4.5 以及安裝最新版的 REPORT VIEWER 2012 RUNTIME 就好了。

於是先在WINDOWS 2003安裝REPORT VIEWER 2012 RUNTIME(要先裝SQLSysClrTypes.msi X86版本),但開啟網頁後檢視報表點選印表機圖示時,提示要下載安裝的RSClientPrint卻不是SQLSERVER 2012的版本仍是SQL SERVER 2008版本?

想了半天,原來忘了要更改WEB.CONFIG的設定,將原本RDLC的版本都改為11.0.0.0即可。

幸好是用VIRTUALBOX測試 ,整個再還原重來一次就好。

改好WEB.CONFIG

<system.web><compilation debug="false"><assemblies> 下
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
        <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>


  <pages ...>  <controls>下
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagPrefix="rsweb"/>

 <httpHandlers> 下
 <add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false"/>
   
YA....印表終於正常了。

沒有留言:

張貼留言

publish error allowDefinition='MachineToApplication'

一個老舊的aspx web form專案,調了一些功能建置成功,但進行部署時顯示以下錯誤。 在應用程式層級之外使用註冊為 allowDefinition='MachineToApplication' 的區段發生錯誤。錯誤的原因可能是虛擬目錄尚未在 IIS 中設定為...