KB3157016 - OPRAVA: RDL sestava generovaná programově selže v SSRS

Platí pro
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

Příznaky

Vezměte v úvahu následující scénář:

  • Používáte službu Reporting Services systému SQL Server 2012, 2014 nebo 2016.
  • Nainstalovali jste si Microsoft SQL Server 2014 Service Pack 1, novější kumulativní aktualizaci pro SQL Server 2012 SP3 nebo kumulativní aktualizaci pro SQL Server 2016.
  • Spustíte sestavu RDL, která je generována programově.

V tomto scénáři se může zobrazit chybová zpráva podobná této:

Poznámka

zpracování! ReportServer_0-1!1328!01/14/2016-10:58:06:: e CHYBA: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Při zpracování sestav došlo k neočekávané chybě. >--- System.IO.IOException: Proces nemá přístup k souboru C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out, protože ho používá jiný proces.
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.<Kompilace>b__0()
v Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Spustit>b__0(stav objektu)
v System.Security.SecurityContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
v System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object State)
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& parameters, Dictionary'2& groupingExprCountAtScope)
at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, String& description, String& language, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash)
at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash)
at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- Konec trasování vnitřního zásobníku výjimek ---

Poznámka: Tato chyba je také zaznamenána do protokolů služby Reporting Services. 

Řešení

Tento problém je opravený v následující kumulativní aktualizaci pro SQL Server:

     Kumulativní aktualizace 5 pro SQL Server 2016 RTM
    
     Kumulativní aktualizace 2 pro SQL Server 2016 SP1

     Kumulativní aktualizace 9 pro SQL Server 2014 Service Pack 1

Kumulativní aktualizace 1 pro SQL Server 2014 SP2

Kumulativní aktualizace 8 pro SQL Server 2012 SP3

Kumulativní aktualizace 16 pro SQL Server 2012 Service Pack 2 (SP2)

Kumulativní aktualizace 2 pro SQL Server 2016

Informace o kumulativních aktualizacích pro SQL Server

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:

Nejnovější kumulativní aktualizace pro SQL Server 2014

Nejnovější kumulativní aktualizace pro SQL Server 2016

Nejnovější kumulativní aktualizace pro SQL Server 2012 SP3

Nejnovější kumulativní aktualizace pro SQL Server 2012 SP2

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.