KB4024563 - 修正:在 SQL Server 2014 或 2016 中,如果頁面高度設定為 8.5 英吋,當您將 SSRS 報告匯出至 .pdf 檔案時,會出現未處理的例外狀況

Applies To
SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use)

症狀

假設您使用 Microsoft SQL Server 2014 或 2016 Reporting Services (SSRS) 將報表匯出至 .pdf 檔案。 如果頁面高度設定為 8.5 英吋,則可能會發生未處理的例外狀況。 此外,類似下列的錯誤訊息會記錄在 Reporting Service 錯誤記錄檔中:

注意

reportrendering!ReportServer_0-485!f60!date-time:: e 錯誤: 擲回 Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: 報表轉譯期間發生錯誤。 ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException:報表轉譯期間發生錯誤。 ---> System.IndexOutOfRangeException:索引超出陣列範圍。
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTablixContainer (RPLTablix tablix, RectangleF position, Single[] rowStarts, Single[] columnStarts)
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem (RPLItemMeasurement 度量、RectangleF bounds、布林值 renderBorders、RectangleF styleBounds、布林值 renderStylesOnBounds、Boolean hasTablixCellParent)
   在 Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessNonTablixContainerReportItems (RPLContainer 容器,RectangleF 邊界)
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem (RPLItemMeasurement 度量、RectangleF bounds、布林值 renderBorders、RectangleF styleBounds、布林值 renderStylesOnBounds、Boolean hasTablixCellParent)
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessPage (RPLReport rplReport, Int32 pageNumber, FontCache sharedFontCache, List'1 glyphCache)
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render (報表報表、NameValueCollection deviceInfo、Hashtable renderProperties、CreateAndRegisterStream createAndRegisterStream)
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render (報表報表、NameValueCollection reportServerParameters、NameValueCollection deviceInfo、NameValueCollection clientCapabilities、Hashtable& renderProperties、CreateAndRegisterStream createAndRegisterStream)
   --- 已到達內部例外狀況堆疊追蹤的末尾 ---
   位於 Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render (報表報表、NameValueCollection reportServerParameters、NameValueCollection deviceInfo、NameValueCollection clientCapabilities、Hashtable& renderProperties、CreateAndRegisterStream createAndRegisterStream)
   位於 Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer (IRenderingExtension 轉譯器、報表報表、NameValueCollection reportServerParameters、NameValueCollection deviceInfo、NameValueCollection clientCapabilities、Hashtable& renderProperties、CreateAndRegisterStream createAndRegisterStream)
   位於 Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute (IRenderingExtension newRenderer)
   --- 內部例外狀況堆疊追蹤---結束;
圖書館!ReportServer_0-485!f60!date-time:: i 資訊: 傾印結果: 外部傾印程序傳回碼 0x20000001。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2016 RTM 的累積更新 8

SQL Server 2016 SP1 的累積更新 5

SQL Server 2014 Service Pack 2 的累積更新 6

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含先前累積更新中的所有 Hotfix 和安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2016 的最新累積更新

適用於 SQL Server 2014 的最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。