2010-04-01 165 views
1

我有一个问题将我的报告嵌入aspx页面。SQL Server 2005报告服务和报告查看器

这里是我的设置:
1服务器上运行SQL Server 2005和SQL Server 2005报表服务
1个工作站运行XP和VS 2005
服务器是不是一个域。
Reporting Services是默认安装。

我在名为TestReports的文件夹中使用共享数据源,有一个名为TestMe的报告。

如果我在报表管理器中查看报表,它呈现正常。如果我使用http:// myserver/reportserver url查看报告,则呈现效果良好。如果我使用http:// myserver/reportserver?/ TestReports/TestMe查看报表,则呈现正常。如果我尝试使用http:// myserver/reportserver/TestReports/TestMe查看报告,则它将转到主目录的文件夹导航页面。

我的网络应用程序模拟某人特定于避开不在域中的服务器。当我使用HTTP调用从报表查看器报告:当我改变了服务器的HTTP

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.

:// MYSERVER /的ReportServer作为服务器和/ TestReports/TESTME作为路径我得到这个错误// MYSERVER /的reportserver?当我运行报告时出现此错误:

Client found response content type of '', but expected 'text/xml'. The request failed with an empty response.

我一直在寻找一段时间,但没有找到任何解决我的问题的方法。请让我知道是否有更多所需的信息。

由于提前,
肯德拉

回答

2

有与SSRS感兴趣的两个虚拟目录。

http://myserver/reportserver是Web服务的地方。 http://myserver/reports是Report Manager界面的位置。

http:// myserver/reportserver?/ TestReports/TestMe是因为您要访问Web服务并传入所需报告的“地址”参数。注意?在那里,表明剩下的是查询字符串参数

http:// myserver/reportserver/TestReports/TestMe正在尝试去虚拟目录的子目录,该子目录并不存在。

为了使您的系统能够使用匿名访问,您需要告诉IIS以已知用户身份运行您网站的应用程序池,该用户具有足够的权限查看报告。您可以在报表管理器(http://myserver/reports)中进行设置。

看你如何去 - 祝你好运。

+0

我很困惑,为什么我需要匿名访问报告服务,除非这是http:// myserver/reportserver/TestReports/TestMe试图做的事情。不过,我试了一下。我已经在报告服务中设置了有权运行报告的用户。而在IIS中,我更改了应用程序池标识以作为所述用户运行。我结束了一项无法使用的服务。一旦我将应用程序池更改回网络服务,它就恢复了生机。 – Kendra 2010-04-05 14:00:26

+0

您试图让应用程序以不是当前用户的身份运行。您正在模拟特定帐户,因此您需要为该帐户授予在SSRS中执行相关操作的权限。听起来你已经做到了。 DTD错误是您需要修正的错误。尝试在http://forums.asp.net/t/1180524.aspx底部的建议,看看是否有帮助。 – 2010-04-06 03:56:13