我上传了一份报告并在Reporting Services 2005中创建了一个数据源。当我通过Report Manager查看报告时,它会成功运行并正确显示。
但是,当我尝试在使用ReportViewer控件查看报表的ASP.net应用程序中打开此报表时,它会返回异常:
异常详细信息:Microsoft.Reporting.WebForms.ReportServerException:数据源 无法找到“ReportTesting”。 (rsDataSourceNotFound)
ReportServer服务器上的事件查看器中记录了警告:
**Process information:
Process ID: 3536
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE**
**Exception information:
Exception type: ReportServerException
Exception message: The data source 'ReportTesting' cannot be found. (rsDataSourceNotFound)**
我无法弄清楚为什么报表和数据源在ReportManager中运行良好,但是当我通过RepotrViewer运行它时不会。服务器上有其他报告(使用不同的数据源)运行良好。
更新: 进一步混淆问题 - 如果我在ReportManager中取消“启用此数据源”,当我尝试在ReportViewer控件中运行报表时会返回以下内容:
异常详细信息:Microsoft.Reporting.WebForms.ReportServerException: 报表服务器无法处理报表。与数据源相关联 报告已被禁用。 (rsDataSourceDisabled)
如果我重新启用“启用此数据源”选项,它将恢复为原始异常。
答案 0 :(得分:0)
我终于找到了原因/解决方案!
我在文本编辑器中打开了.rdl文件,注意到数据集仍然指向以前的数据源。
<Query>
<DataSourceName>[old datasource name]</DataSourceName>
我用新数据源替换了对前一个数据源的所有引用,现在它已成功运行。