2010-04-01 190 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

相關問題