Проблемы
Рассмотрим следующий сценарий.
-
Вы используете SQL Server 2012, 2014 или 2016 Reporting Services.
-
Вы устанавливаете Microsoft SQL Server 2014 с пакетом обновления 1 (SP3), более позднее накопительное обновление SQL Server 2012 с пакетом обновления 3 (SP3) или накопительное обновление SQL Server 2016.
-
Вы запустите отчет RDL, созданный программным способом.
В этом сценарии может появиться сообщение об ошибке, похожее на следующее:
Обработки! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: непредвиденная ошибка при обработке отчетов. ---> System.IO.IOException: процесс не может получить доступ к файлу C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out, так как он используется другим процессом.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
на сайте Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(Параметры CompilerParameters, CodeCompileUnit compilationUnit)
на сайте Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, Boolean refusePermissions)
на сайте Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0()
на сайте Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
в System.Security.SecurityContext.runTryCode(Object userData)
в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(tryCode code, CleanupCode backoutCode, Object userData)
в System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
на сайте Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(обратный вызов ContextBody)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, Boolean refusePermissions, PublishingVersioning versioning)
в Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection&, Dictionary'2& groupingExprCountAtScope)
в 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)
в 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)
на сайте Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- завершения трассировки внутреннего стека исключений ---
Обратите внимание, что эта ошибка также регистрируется в журналах Reporting Services журналов.
Решение
Эта проблема устранена в следующем накопительном обновлении для SQL Server:
Накопительного обновления 5 для SQL Server 2016 RTM
с накопительным обновлением2 для SQL Server 2016с пакетом обновления 1 (SP1
) дляпакета обновления 9 для SQL Server 2014 с пакетом обновления 1 (SP1)
Накопительный пакет обновления 1 для SQL Server 2014 с пакетом обновления 2 (SP2)
Накопительный пакет обновления 8 для SQL Server 2012 с пакетом обновления 3 (SP3)
Накопительный пакет обновления 16 для SQL Server 2012 с пакетом обновления 2 (SP2)
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
Последнее накопительное обновление для SQL Server 2014 г
. Последнее накопительное обновление для SQL Server 2016
г. Последнее накопительное обновление для SQL Server 2012 с пакетом обновления 3 (SP3)
Последнее накопительное обновление для SQL Server 2012 с пакетом обновления 2 (SP2)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Сведения о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.