列印 SSRS 報表時,發生 0x80070006 錯誤的可能解決方案

本文將介紹列印 SSRS 報表時,發生 0x80070006 錯誤的可能解決方案。

前陣子幫 USER 利用 SSRS 2008 開發幾張報表,上線之後有幾個 USER 反應按下 Report Viewer 的列印按鈕時,發生下圖的錯誤訊息:

 

擷取

 

奇怪的是一樣是 Windows 7 Professional x86 的環境,大部分的電腦可以正常列印,有四台電腦卻會發生上圖的錯誤。嘗試了一些解法之後仍無法排除,最後求助於微軟的技術支援,期間用過許多方法和收集 LOG,仍然找不出問題發生的原因,技術支援工程師表示,有可能是作業系統中有關列印服務有問題,在 XP 或是 VISTA 有相關的 HOTFIX 可以修正,但是 Windows 7 卻沒有。

後來聽同事說,有委外廠商以 FOXPRO 開發的報表,在公司電腦升級到 Windows 7 後,也有無法列印的狀況,解決的方式是把印表機名稱,由含有中文改為全部是英文或數字。索性也把出現 0x80070006 錯誤的電腦上的預設印表機名稱也改成不含中文,居然就不會出現錯誤而可以正常列印了。

雖然還不知道真正問題發生的原因,但卻也暫時解決這個問題,跟大家分享一下這個有點莫名其妙狀況。