Symptômes
Supposons que vous utilisez Microsoft SQL Server 2014 ou 2016 Reporting Services (SSRS) pour exporter un rapport vers un fichier .pdf. Si la hauteur de page est définie sur 8,5 pouces, une exception non gérée peut se produire. En outre, les messages d’erreur qui ressemblent à ce qui suit sont enregistrés dans le journal des erreurs de Reporting Service :
reportrendering! ReportServer_0-485!f60! date-time:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: Une erreur s’est produite lors du rendu du rapport. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException : une erreur s’est produite lors du rendu du rapport. ---> System.IndexOutOfRangeException : Index était en dehors des limites du tableau.
sur Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTablixContainer(RPLTablix Tablix, RectangleF position, Single[] rowStarts, Single[] columnStarts)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessNonTablixContainerReportItems(RPLContainer container, RectangleF bounds)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessPage(RPLReport rplReport, Int32 pageNumber, FontCache sharedFontCache, List'1 glyphCache)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render(Report report, NameValueCollection deviceInfo, Hashtable renderProperties, CreateAndRegisterStream createAndRegisterStream)
sur Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
--- Fin du ---
de trace de la pile d’exceptions interne
sur Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
sur Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(IRenderingExtension renderer, Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream
)
sur Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer)
--- Fin de l'--- de trace de la pile d’exceptions interne ;
Bibliothèque! ReportServer_0-485!f60! date-heure :: i INFO: Résultat du vidage : le processus de vidage externe retourne le code 0x20000001.
Résolution
Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 8 pour SQL Server 2016 RTM
Mise à jour cumulative 5 pour SQL Server 2016 SP1
Mise à jour cumulative 6 pour SQL Server Service Pack 2 2014
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
État
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Références
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.