1

我已经在 Reporting Services 2005 中上传了一个报表并创建了一个数据源。当我通过报表管理器查看报表时,它运行成功并正确显示。

但是,当我尝试在使用 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)

如果我重新勾选“启用此数据源”选项,它将恢复为原始异常。

4

1 回答 1

0

我终于找到了原因/解决方案!

我在文本编辑器中打开了 .rdl 文件,发现数据集仍然指向之前的数据源。

<Query>
    <DataSourceName>[old datasource name]</DataSourceName>

我用新数据源替换了对先前数据源的所有引用,它现在运行成功。

于 2012-04-24T09:47:35.407 回答