我完全被一个非常固执的问题困住:当我试图采取任何行动(添加,删除,编辑)在SSRS 2008 UI上报表的属性页的安全选项卡中,我得到一个通用的错误。 它所说的是这样的: 响应不是格式良好的XML。
挖掘SSRS安装根目录下的LogFiles文件夹,我看到:
angular色分配无效。 angular色分配或者为空,指定已经在当前项目的现有angular色分配中使用的用户或组名称,或者指定同一用户或组的重复angular色。 ReportManager_0-1!32c!07/23 / 2011-15:03:33 :: e错误:响应不是格式良好的XML。 ReportManager_0-1!32c!07/23 / 2011-15:03:33 :: e错误:HTTP状态码 – > 500 ——-细节——– System.InvalidOperationException :响应不是格式良好的XML。 —> System.Xml.XmlException:发生意外的文件结束。 以下元素未closures:消息,详细信息,soap:Fault,soap:Body,soap:Envelope。 3号线,位置5470。
在System.Xml.XmlTextReaderImpl.Throw(exceptione)
- SSRS数据驱动的订阅空目的地文件夹
- 从Reporting Services 2005移到2008
- SQL Server报告服务在没有日志信息的情况下closures
- 在使用dbs的远程实例的单独服务器上安装SQL Report Server
- configurationSQL Report Server以使用Internet URL与Team Foundation Server一起使用
在System.Xml.XmlTextReaderImpl.ThrowUnclosedElements()
在System.Xml.XmlTextReaderImpl.ParseElementContent()
在System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace)
在System.Xml.XmlLoader.ReadCurrentNode(XmlDocument doc,XmlReader reader)
在System.Xml.XmlDocument.ReadNode(XmlReader阅读器)
在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadSoapException(XmlReader阅读器)
在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息,WebResponse响应,streamresponseStream,布尔asyncCall)
在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object [] parameters)
—内部exception堆栈跟踪结束—
在System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object [] parameters)
在Microsoft.SqlServer.ReportingServices2005.ReportingService2005.SetPolicies(String Item,Policy [] Policies)
在Microsoft.SqlServer.ReportingServices2005.RSConnection.SetPolicies(String Item,Policy [] Policies)
在Microsoft.ReportingServices.UI.ImageTextButton.RaisePostBackEvent(String eventArgument)
在System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)
在System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)库!ReportServer_0-2!a14!07/23 / 2011-15:03:33 ::调用GetSystemPropertiesAction()。 Reporter_0-1!32c!07/23 / 2011-15:03:33 :: e错误:ShowErrorPageexception:System.Threading.ThreadAbortException:线程被中止。 System.Threading.Thread.AbortInternal()在System.Threading.Thread.Abort(对象状态信息)在System.Web.HttpResponse.End()在Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(stringerrMsg)在系统。在Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)System.Web.HttpResponse.End()System.Threading.Thread.Abort(对象stateInfo)Threading.Thread.AbortInternal()
当我运行DBCC CHECKDB时,数据库(ReportServer和ReportServerTempDB)出来了。
此错误阻止我执行以下任何操作:
1.使用“编辑项目安全性”报告或文件夹
2.从主文件夹安全页面中删除用户名称
3.使用“新angular色分配”添加新用户
真奇怪的是,这3个动作中的一部分在一些报告文件夹中起作用。 在那些工作和没有工作的人之间我没有什么共同之处。
有任何想法吗??
此问题已得到解决!
根本原因:有一个用户在Home文件夹下以某种方式添加了三次到四个不同的angular色。 使用与Home(inheritance)相同的权限的任何子文件夹遭受相同的后果。 为什么SSRS首先允许这个标记或者在错误日志中没有标记呢?
解决scheme:删除SSRS UI上用户的重复项(3项中的2项)。
得到教训:
1.几次阅读每个错误,但不要被最严重的错误带走
2.尝试并从原因中分离症状(在这种情况下,存在重复的ID是原因,但在错误日志中,您将看到大量语言,如“意外的文件结束已经发生”,在压力的情况下可能容易误导送你一个兔子洞!
采取任何build议,你得到一撮盐,但审查妥善
如果可能,我会: