KB3157016 – RETTELSE: RDL-rapport, der genereres programmeringsmæssigt, kan ikke køre i SSRS

Gælder for
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Symptomer

Overvej følgende scenarie:

  • Du bruger SQL Server 2012, 2014 eller 2016 Reporting Services.
  • Du installerer Microsoft SQL Server 2014 Service Pack 1, en nyere samlet opdatering af SQL Server 2012 SP3 eller en samlet opdatering af SQL Server 2016.
  • Du kører en RDL-rapport, der genereres programmeringsmæssigt.

I dette scenarie får du muligvis vist en fejlmeddelelse, der ser nogenlunde sådan ud:

Bemærk

Behandler! ReportServer_0-1!1328!14/01/2016-10:58:06:: e FEJL: Kast Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Der opstod en uventet fejl i rapportbehandlingen. ---> System.IO.IOException: Processen kan ikke få adgang til filen 'C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out', fordi den bruges af en anden proces.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(Strengsti, boolesk checkHost)
på Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit)
på Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, boolesk refusePermissions)
på Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Kompiler>b__0()
på Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Kør>b__0(objekttilstand)
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, ContextCallback, callback, Object state)
på Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder, expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, boolesk refusePermissions, PublishingVersioning versioning)
på Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection& parameters, Dictionary'2& groupingExprCountAtScope)
på Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, Streng& description, Streng& sprog, ParameterInfoCollection& parametre, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, boolesk& hasExternalImages, boolesk& hasHyperlinks, Byte[]& dataSetsHash)
på Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, boolesk& hasExternalImages, boolesk& hasHyperlinks, Byte[]& dataSetsHash)
på Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- Slut på indre undtagelsestaksporing ---

Bemærk! Denne fejl logføres også i Reporting Services-loggene. 

Løsning

Dette problem blev rettet i følgende kumulative opdatering til SQL Server:

     Kumulativ opdatering 5 til SQL Server 2016 RTM
    
     Samlet opdatering 2 til SQL Server 2016 SP1

     Samlet opdatering 9 til SQL Server 2014 Service Pack 1

Kumulativ opdatering 1 til SQL Server 2014 SP2

Kumulativ opdatering 8 til SQL Server 2012 SP3

Kumulativ opdatering 16 til SQL Server 2012 Service Pack 2 (SP2)

Akkumuleret opdatering 2 til SQL Server 2016

Om kumulative opdateringer til SQL Server

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:

Seneste kumulative opdatering til SQL Server 2014

Seneste kumulative opdatering til SQL Server 2016

Seneste kumulative opdatering til SQL Server 2012 SP3

Seneste kumulative opdatering til SQL Server 2012 SP2

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Referencer

Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.