Objawy
Załóżmy, że używasz usług Microsoft SQL Server 2014 lub 2016 Reporting Services (SSRS) do wyeksportowania raportu do pliku .pdf. Jeśli ustawiono wysokość strony na 8,5 cala, może wystąpić nieobsługiwany wyjątek. Ponadto w dzienniku błędów usługi Reporting Service są rejestrowane komunikaty o błędach podobne do poniższych:
Uwaga
Renderowanie raportów! ReportServer_0-485!F60! data-godzina:: e BŁĄD: Zgłaszanie Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: Wystąpił błąd podczas renderowania raportu.
>--- Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: Wystąpił błąd podczas renderowania raportu.
>--- System.IndexOutOfRangeException: indeks znajdował się poza granicami tablicy.
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTablixContainer(RPLTablix tablix, RectangleF position, Single[] rowStarts, Single[] columnStarts)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessNonTablixContainerReportItems(RPLContainer container, RectangleF bounds)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessPage(RPLReport rplReport, Int32 pageNumber, FontCache sharedFontCache, List'1 glyphCache)
at Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render(Raport raportu, NameValueCollection deviceInfo, Hashtable renderProperties, CreateAndRegisterStream createAndRegisterStream)
at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
--- Koniec śledzenia stosu wyjątków wewnętrznych ---
at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(IRenderingExtension renderer, Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer)
--- Koniec śledzenia stosu wyjątków wewnętrznych ---;
biblioteka! ReportServer_0-485!F60! data-godzina:: i INFO: Wynik zrzutu: Zewnętrzny kod powrotny procesu zrzutu 0x20000001.
Rozwiązanie
Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:
Aktualizacja zbiorcza 8 dla programu SQL Server 2016 RTM
Aktualizacja skumulowana 5 dla programu SQL Server 2016 z dodatkiem SP1
Aktualizacja zbiorcza 6 dla programu SQL Server 2014 z dodatkiem Service Pack 2
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2016
Najnowsza aktualizacja zbiorcza dla programu SQL Server 2014
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.
Źródła informacji
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.