Síntomas
Imagine la siguiente situación:
-
Puede usar SQL Server 2012, 2014 o 2016 Reporting Services.
-
Instala el Service Pack 1 de Microsoft SQL Server 2014, una actualización acumulativa posterior de SQL Server 2012 SP3 o una actualización acumulativa de SQL Server 2016.
-
Ejecuta un informe RDL que se genera mediante programación.
En este escenario, es posible que reciba un mensaje de error similar al siguiente:
¡Tratamiento! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ERROR: Iniciando Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Se produjo un error inesperado en el procesamiento del informe. ---> System.IO.IOException: El proceso no puede tener acceso al archivo 'C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out' porque lo está usando otro proceso.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.File.InternalDelete(String path, Boolean checkHost) at Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit) at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, Boolean refusePermissions) at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0() at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state) at System.Security.SecurityContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Security.SecurityContext.Run(SecurityContext securityContext, Devolución de llamada ContextCallback, Estado del objeto) at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback) at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, Boolean refusePermissions, PublishingVersioning versioning) at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection& parámetros, Dictionary'2& groupingExprCountAtScope) at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, String& description, String& language, ParameterInfoCollection& parámetros, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash) en Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parámetros, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash) at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext) --- --- de seguimiento de pila fin de excepción internaNota Este error también se registra en los registros de Reporting Services.
Solución
Este problema se ha corregido en la siguiente actualización acumulativa de SQL Server:Actualización acumulativa 5 para SQL Server 2016 RTMActualización acumulativa 2 para SQL Server 2016 SP1Actualización acumulativa 9 para SQL Server 2014 Service Pack 1
Actualización acumulativa 1 para SQL Server 2014 SP2
Actualización acumulativa 8 para SQL Server 2012 SP3
Actualización acumulativa 16 para SQL Server 2012 Service Pack 2 (SP2)
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:
Actualización acumulativa más reciente de SQL Server 2014 Actualización acumulativa más reciente de SQL Server 2016 Actualización acumulativa más reciente para SQL Server 2012 SP3
Actualización acumulativa más reciente para SQL Server 2012 SP2
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.