SQL Server Reporting Services显示XML文档错误中禁止的DTD

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server Reporting Services显示XML文档错误中禁止的DTD相关的知识,希望对你有一定的参考价值。

运行报告服务报告时出现以下错误。

Process name: w3wp.exe
Account name: NT AUTHORITYNETWORK SERVICE 
Exception information: 
    Exception type: XmlException 
    Exception message: For security reasons DTD is prohibited in this XML document.  To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method.  

我选择一个报告,输入参数(参数看起来搞砸了),然后按查看报告。然后在底部显示消息“出于安全原因,此XML文档中禁止DTD。要启用DTD处理,请在XmlReaderSettings上设置ProhibitDtd属性...”。

我该如何解决?

答案

检查您的报告服务器网站是否具有正确的本地路径文件夹。如果不正确,您可能需要执行iisreset。

另一答案

在我的情况下,下载xml文件的URL实际上是强制执行表单身份验证,因此报告服务不是获取XML,而是获取ASP.NET / html登录表单。

为了避免半天的研究,你应该首先在一个新的隐身浏览器中测试你的网址,以确保它有效并且你按照预期获得普通的xml。

另一答案

在使用SSRS 2005并运行包含XML数据的大型报表时,我注意到了这一点。

它可以在运行时说出月度报告,但在我运行季度报告时给我这个错误。

升级到SQL / SSRS 2008为我解决了这个问题!

以上是关于SQL Server Reporting Services显示XML文档错误中禁止的DTD的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2012 安装 Reporting Services 目录错误

向 SQL Server Reporting Services 报表添加交替行颜色

Reporting Services SQL Server 2005 文件共享错误

SQL Server Reporting Services显示XML文档错误中禁止的DTD

SQL Server Reporting Services 2005 超链接值?

如何在 SQL Server Reporting Services 2008 中复制报表