2012-04-04 26 views
1

我已經上傳了報表並在Reporting Services 2005中創建了一個數據源。當我通過Report Manager查看報表時,它運行成功並正確顯示。SSRS 2005 - 當通過ASP.net查看報表時,rsDataSourceNot發現錯誤ReportViewer

然而,當我嘗試在使用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

不知道SRSS,但從asp.net網頁使用Reportviewer時,它看起來像數據源的名稱拼寫不正確。你如何定義你的數據源。使用與您的BI工作室中使用的名稱相同的名稱從代碼中嘗試它。 – 2012-04-04 10:54:39

+0

盧克 - 感謝您的建議,但數據源似乎拼寫正確。作爲測試,我將報告設置爲使用服務器上已有的數據源,併爲其他報告工作。它運行良好。將其更改回來,並再次返回異常。是否有必須完成的事情才能讓ReportServer查看數據源? – Chris 2012-04-04 11:16:40

+0

你在遠程或本地模式下工作嗎?這裏是關於如何設置reportviewer在遠程模式下工作的小教程。 http://msdn.microsoft.com/en-us/library/ms251669(v=vs.80).aspx – 2012-04-04 12:50:53

回答

0

我終於找到了原因/解決方案!

我在文本編輯器中打開了.rdl文件,發現數據集仍然指向前一個數據源。

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

我用新的數據源替換了所有對前一個數據源的引用,現在它成功運行。

相關問題