在ASP.Net ReportViewer中使用SSRS

Mik*_*e K 5 asp.net authentication reportviewer reporting-services ssrs-2008

我在我的localhost上设置了SSRS,并使用BIDS创建了几个关于它们的报告.他们从部署SSRS的同一SQL Server访问数据,当我预览它们时,它们运行正常.然后我将它们部署到我的localhost SSRS并通过ReportManager Web界面访问它们,再次运行得很好.最后,我将它们部署到我的托管服务提供商的SSRS.同样的交易; 良好的数据连接性,它在ReportManager中看起来很棒.

我第一次通过任一系统上的ReportManager访问它们时,它需要我的用户名和密码,这在我的笔记本电脑上只是我的帐户登录和密码.对于我的托管服务提供商,这是我的帐户登录.

我的问题是当我尝试使用ASP.Net中的ReportViewer控件显示报表时.很多时候,当它试图渲染时,我得到一个"Bad Logon"或"401:Unauthorized"而不是我的报告.经过大量的阅读和思考,我认为问题是我需要登录不是SQL Server,而是登录我的报告所在的网站(Web服务?).现在,如果我根本不提供任何凭据,我可以在ReportViewer中获取我的本地报告(通常).但是,当我将报告部署到远程服务器时,这不再起作用.

经过一些研究后,我创建了一个实现IReportServerCredentials的类,并尝试使用它来传递用户名和密码,但这似乎不起作用.令我感到困惑的是,这些凭据是应该用于数据源还是用于Web服务.

如果有人能够告诉我如何让ReportViewer登录SSRS Web服务,我会非常感激.

jvi*_*lta 4

假设您已在查看器上设置了ProcessingMode=“Remote”属性,那么您可能会遇到身份验证问题。在远程模式下使用报表查看器时,报表由运行 ASP.Net 的帐户在 SSRS 上执行。此帐户必须有权访问报告服务器和您要运行的报告。可能发生的情况是 ASP.Net 正在无权访问 SSRS 的帐户下运行。

如果您希望能够设置报表查看器的凭据,请查看此线程以获取解决方案和示例代码。