【问题标题】:SQL Server Reporting Services shows DTD prohibited in XML document errorSQL Server Reporting Services 在 XML 文档错误中显示 DTD 被禁止
【发布时间】:2008-09-18 23:52:58
【问题描述】:

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

Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK 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 属性 ...”。

我该如何解决这个问题?

【问题讨论】:

    标签: sql-server-2005 reporting service


    【解决方案1】:

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

    【讨论】:

    • “正确的本地路径文件夹”是什么意思?报告管理器和报告服务器的物理路径似乎是正确的。
    【解决方案2】:

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

    为了避免半天的研究,你应该首先在一个新的隐身浏览器中测试你的 url,以确保它可以正常工作并且你得到了预期的纯 xml。

    【讨论】:

    • 我也是这样。谢谢!
    【解决方案3】:

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

    运行每月报告时它会起作用,但是当我运行季度报告时给我这个错误。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-13
      • 2011-03-22
      • 1970-01-01
      • 2023-03-26
      • 2012-12-01
      • 1970-01-01
      • 2014-06-26
      相关资源
      最近更新 更多