我有一些与 Analysis Services 对话的报告服务报告,有时它们会失败并出现以下错误:
An error occurred during client rendering.
An error has occurred during report processing.
Query execution failed for dataset 'AccountManagerAccountManager'.
The connection cannot be used while an XmlReader object is open.
有时当我更改过滤器中的选择时,就会发生这种情况。当机器处于重负载状态时也会发生这种情况,然后会持续出错,直到重新启动 SSAS。
日志文件包含以下错误:
processing!ReportServer_0-18!738!04/06/2010-11:01:14:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'AccountManagerAccountManager'., ; Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'AccountManagerAccountManager'. ---> System.InvalidOperationException: The connection cannot be used while an XmlReader object is open.
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.CheckConnection()
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.ExecuteStatement(String statement, IDictionary connectionProperties, IDictionary commandProperties, IDataParameterCollection parameters, Boolean isMdx)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Microsoft.AnalysisServices.AdomdClient.IExecuteProvider.ExecuteTabular(CommandBehavior behavior, ICommandContentProvider contentProvider, AdomdPropertyCollection commandProperties, IDataParameterCollection parameters)
at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.AnalysisServices.AdomdClient.AdomdCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.ReportingServices.DataExtensions.AdoMdCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunDataSetQuery()
有人可以解释一下这个问题吗?
答案1
我也遇到了这个问题。我取消选中了数据集数据源属性中的“处理查询时使用单一事务”复选框。
答案2
对我来说,这更像是一个代码问题。你确定你在 stackoverflow.com 上没有找到任何答案吗?
对我来说,这似乎只是因为某些 XMLReader 对象处于打开状态...因此必须正确关闭正在使用它的某些服务或程序。