設定 ReportViewer 的遠端處理

您可以設定 ReportViewer 控制項來使用 Microsoft SQL Server 2005 Reporting Services 報表伺服器的處理功能。報表伺服器會處理資料,且會將報表轉譯成輸出格式。ReportViewer 控制項會從報表伺服器中擷取已完成的報表,並將它顯示在畫面中。

若要使用報表伺服器,您必須能夠存取 SQL Server 2005 Reporting Services 報表伺服器,而且您選取的報表必須在報表伺服器上發行。ReportViewer 控制項需要只能透過 SQL Server 2005 SOAP 執行端點來公開的資訊。此控制項不支援在 SQL Server 2000 Reporting Services 報表伺服器上執行的報表。

您可以開啟瀏覽器視窗,在 URL 位址中,輸入報表伺服器 URL 及報表路徑,以確認您可以存取報表。當您設定與報表伺服器的連接時,請使用有權檢視報表的帳戶來連接。依預設,這是執行緒使用者。在 Windows 應用程式中,執行緒使用者通常是使用者帳戶。在 ASP.NET 應用程式中,它通常是 ASP.NET 帳戶。不論您如何設定這個連接,您都必須確定在報表伺服器有一項角色指派,將報表存取權授與用來建立連接的帳戶。若要進一步了解連接組態,請參閱IReportServerCredentials

如何設定 ReportViewer 的遠端處理

若要設定 ReportViewer 控制項進行遠端處理,請指定搭配此控制項使用的報表伺服器。請遵循下列步驟來選取伺服器報表:

  1. 從 [工具箱] 的 [資料] 區段中,將 ReportViewer 控制項加入專案的表單或網頁中。

  2. 在 [ReportViewer 工作] 智慧標籤面板的 [選擇報表] 中,選取 [伺服器報表]。

  3. 在 [報表伺服器] 文字方塊中,輸入報表伺服器 URL。預設 URL 語法是 https://localhost/reportserver。安裝架構所用的實際 URL 可能會隨著報表伺服器虛擬目錄設定的設定方式而不同。

  4. 在 [報表路徑] 文字方塊中,輸入發行之報表的完整路徑。報表路徑的開頭必須是正斜線 (/)。路徑不能包括報表 URL 參數。路徑由在報表伺服器資料夾命名空間中的資料夾和報表名稱組成。例如,如果您將 SQL Server 2005 範例報表 Company Sales 安裝在報表伺服器中,報表路徑可能是 /AdventureWorks Sample Reports/Company Sales

  5. 建立或部署應用程式來確認報表會正確出現在您的應用程式中。如果您收到 HTTP Proxy 錯誤,請確認報表伺服器 URL 正確無誤。如果您收到相容性錯誤,請確認報表伺服器是 SQL Server 2005 執行個體。

  6. 選取 ReportViewer 控制項,開啟 [屬性] 視窗。

  7. 在 ReportViewer 控制項上設定屬性,以設定報表工具列和執行階段功能。請利用參考文件集來進一步了解每個屬性。如需詳細資訊,請參閱ReportViewer 屬性

了解伺服器報表特性

伺服器報表和在本機處理的報表,在視覺和功能上,都有非常重要的差異。下表描述在遠端處理之伺服器報表的特性:

報表處理

伺服器報表在 SQL Server 2005 Reporting Services 報表伺服器中執行。伺服器報表是從 SQL Server 2005 的 [報表設計工具] 版本所建立之報表定義檔案 (.rdl) 發行的。.rdl 檔案的組成與您可能在 ASP.NET 或 Windows 應用程式專案中建立之 .rdlc 檔案的組成有些不同。您很容易調整報表定義檔案,讓它在報表伺服器執行,或在執行控制項中執行。如需有關 .rdl 和 .rdlc 之差異的詳細資訊,請參閱轉換 RDL 和 RDLC 檔

資料處理

伺服器報表會使用報表伺服器的資料處理延伸模組,連接到結果集及處理結果集。預設資料處理延伸模組是針對 SQL Server、Analysis Services、SQL Server Integration Services、Oracle、SAP NetWeaver® Business Intelligence、XML、ODBC 和 OLE DB 資料來源而提供。您可以建立或使用自訂資料處理延伸模組來支援其他資料類型。

與用戶端報表相較之下,伺服器報表包括資料來源連接資訊以及報表定義中的一或多個查詢。伺服器報表的資料處理和報表處理整合為一。因此,伺服器報表可能會包括對應到查詢參數的報表參數,也可能包括在執行階段納入查詢結果的運算式。

參數化

伺服器報表可以在報表頂端併入參數輸入區域,供使用者輸入或選取查詢要用的參數值。在用戶端報表定義中,您必須在表單或網頁中提供參數輸入區域。

連接到外部來源

伺服器報表使用的資料來源通常會從其他伺服器上的外部資料來源中擷取資料。在應用程式中執行伺服器報表時,請確定您了解報表伺服器如何連接及擷取報表之外部資料來源中的資料。如果報表使用 Windows 整合式安全性,單一使用者安全性 Token 能夠傳給其他電腦的次數會受到限制。如果有多個連接是用相同 Token 來建立的,透過您的應用程式來存取報表的使用者可能會發生連接錯誤。如果設定報表來提示認證,或是報表伺服器使用以表單為基礎的驗證,使用者可能必須輸入使用者名稱和密碼,才能檢視報表。請注意,ReportViewer 控制項並不提供認證提示頁面。如果您的應用程式連接到使用以表單為基礎之驗證的報表伺服器,您的應用程式便必須提供登入頁面。

管理報表

伺服器報表是在報表伺服器中進行管理。報表伺服器管理員可以修改提供報表存取權的角色指派,重新設定資料來源連接,以及更新、移動、重新命名或刪除報表。任何這些變更都可能影響從應用程式執行的報表,或使報表無法從應用程式執行。在應用程式中使用伺服器報表時,請確定您了解如何在部署應用程式之後管理報表。

如需有關 SQL Server Reporting Services 的報表設計、資料擷取、部署和安全性設定的詳細資訊,請參閱《SQL Server 2005 線上叢書》。您可以利用 SQL Server 2005 安裝媒體來安裝《SQL Server 2005 線上叢書》。另外,您也可以在 www.microsoft.com 中找到它。

遠端處理的使用時機

以伺服器為基礎的報表可讓您集中報表儲存與管理的方式、設定報表與資料夾的原則和安全存取、控制處理與散發報表的方式,以及將您企業中使用報表的方式標準化。SQL Server Reporting Services 可以安裝在單一伺服器、分散式和叢集組態中。如果您的報表有下列特性,請考慮使用遠端處理:

  • 將有許多使用者存取報表。

  • 報表有非常複雜的查詢或包含大量資料,會使應用程式所在電腦的系統資源超載。

  • 報表已發行在報表伺服器中,且您要將它併入您建立和部署的應用程式中。

另請參閱

概念

轉換 RDL 和 RDLC 檔
加入和設定 ReportViewer 控制項
設定 ReportViewer 的本機處理
部署報表和 ReportViewer 控制項