Symptômes
Prenons l’exemple du scénario suivant :
-
Vous utilisez SQL Server Reporting Services 2012, 2014 ou 2016.
-
Vous installez Microsoft SQL Server Service Pack 1 2014, une mise à jour cumulative ultérieure de SQL Server 2012 SP3 ou une mise à jour cumulative de SQL Server 2016.
-
Vous exécutez un rapport RDL généré par programmation.
Dans ce scénario, vous pouvez recevoir un message d’erreur qui ressemble à ce qui suit :
Traitement! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException : Une erreur inattendue s’est produite dans le traitement des rapports. ---> System.IO.IOException : le processus ne peut pas accéder au fichier « C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out », car il est utilisé par un autre processus.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) sur System.IO.File.InternalDelete(String path, Boolean checkHost) at Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit) chez Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, Boolean refusePermissions) sur Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0() sur Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state) sur System.Security.SecurityContext.runTryCode(Object userData) sur System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) sur System.Security.SecurityContext.Run(SecurityContext securityContext, Rappel ContextCallback, État de l’objet) sur Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(Rappel ContextBody) sur Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, Boolean refusePermissions, PublishingVersioning versioning) sur Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection& parameters, Dictionary'2& groupingExprCountAtScope) sur Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, Description de string&, string& language, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash) chez Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, booléen& hasExternalImages, booléen& hasHyperlinks, Byte[]& dataSetsHash) chez Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext) --- Fin de la trace interne de la pile des exceptions ---Notez que cette erreur est également consignée dans les journaux d’activité Reporting Services.
Résolution
Ce problème a été résolu dans la mise à jour cumulative suivante pour SQL Server:Cumulative Update 5 pour SQL Server 2016 RTMCumulative Update 2 pour SQL Server 2016 SP1Cumulative Update 9 pour SQL Server Service Pack 1 2014
Mise à jour cumulative 1 pour SQL Server 2014 SP2
Mise à jour cumulative 8 pour SQL Server 2012 SP3
Mise à jour cumulative 16 pour SQL Server Service Pack 2 2012 (SP2)
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2014 Dernière mise à jour cumulative pour SQL Server 2016 Dernière mise à jour cumulative pour SQL Server 2012 SP3
É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
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.