Visual Studio 中的 Reporting Services 和 ReportViewer 控制項

[ReportViewer] 控制項是一種 Visual Studio 資料控制項,您可以將它加入 ASP.NET 應用程式專案的網頁中,或者,您也可以將它加入 Visual Basic Windows 應用程式的表單中。 此控制項會直接將報表處理和檢視功能內嵌在您的應用程式中。 它還提供整合式設計環境,讓您能夠利用任何 ADO.NET 資料物件的資料來建立用戶端報表定義 (.rdlc)。 具備完整功能的 API 提供以程式設計方式存取控制項和報表,讓您能夠在執行階段設定報表功能。

ReportViewer 控制項是在與 Reporting Services 相同的 Microsoft 報表技術上建立,但是在 Visual Studio 中,會當做資料控制項散發。 您可以搭配 Reporting Services 使用此控制項,或是當做提供豐富報表功能的內嵌資料控制項使用。

若要瞭解有關 [ReportViewer] 控制項的詳細資訊,請搜尋 Visual Studio 產品文件集內的「ReportViewer 控制項」。

功能摘要

下表顯示如何針對報表處理、資料擷取、部署及報表設計等方面,來比較 ReportViewer 控制項和 Reporting Services。 您可以利用此資訊來判斷哪項 Microsoft 報表技術是您應用程式的最佳選擇。

功能

ReportViewer 控制項

SQL Server Reporting Services

報表處理

處理用戶端應用程式 (本機模式) 中的報表,或主控在遠端 SQL ServerReporting Services 報表伺服器 (遠端模式) 上執行的伺服器報表。

處理報表伺服器、在 Internet Information Services (IIS) 中執行的中間層 Web 服務中的報表。

報表輸出格式

GDI 適用於在 Windows 應用程式中執行的報表。 HTML 適用於在 ASP.NET 網頁中執行的報表。

匯出格式包括 Microsoft Excel 和 PDF。

HTML、MHTML、TIFF、PDF、Excel、CSV 及 XML。

您也可以撰寫自訂輸出格式。

報表功能

多維度、關聯式及視覺化資料的互動式和靜態報表。

您可以定義在報表中執行的自訂組件。

您可以利用運算式來提供條件式格式化和彙總。

報表功能包括在 [ReportViewer] 控制項中執行的報表所提供的所有功能,並加上對您可在報表中建立及執行的自訂報表控制項的支援。

資料來源類型和資料擷取

用戶端處理:

直接繫結到 ADO.NET 資料的資料表,並耗用提供給控制項的 DataTable 執行個體。 您也可以直接繫結到商務物件。 資料處理與報表處理是分開的。 應用程式提供資料列集給報表。 控制項會將資料列集合併至報表,然後將它轉譯成輸出格式。

伺服器端處理:

報表包含支援之資料來源類型的資料。 會先在報表伺服器中執行資料處理和轉譯,再將報表載入 [ReportViewer] 控制項中。

在報表伺服器和遠端資料伺服器中進行整合式資料和報表處理。

報表伺服器中的資料處理延伸模組會判斷支援的資料來源類型。 預設的資料來源包含 SQL Server、Analysis Services、SQL ServerIntegration Services、Oracle、XML 和 OLEDB。

您可以建立自訂資料處理延伸模組來支援其他資料來源類型。

報表參數化

用戶端處理:

報表參數的內建支援會根據靜態值來提供結果集的條件式格式化和篩選。

如果您要在執行階段接受查詢參數或報表參數的使用者輸入,您必須在您的應用程式中撰寫程式碼來支援它。

和 Reporting Services 報表不同,在本機模式下執行的 [ReportViewer] 控制項並不提供讓您能夠用來傳遞資料處理期間所使用之值的參數輸入區。 在本機模式中,[ReportViewer] 控制項中的資料與報表處理之間並未整合。

報表參數支援條件式格式化,並可對應至查詢參數,提供一種可在執行階段將報表參數值傳入查詢的方式。 依預設,參數輸入區域是在報表中提供。 您可以在設計階段定義參數屬性,並在執行階段管理這些屬性。

報表設計和 Visual Studio 整合

在 Visual Studio 中建立用戶端報表定義 (.rdlc) 檔。 將報表範本加入專案中,可以建立報表定義檔、將檔案加入專案中,並在 Visual Studio 工作空間中開啟整合式報表設計師。

Visual Studio 資料來源精靈可讓您在應用程式中提供資料,以利報表中的後續使用。

Visual Studio 報表設計師不包括 [預覽] 索引標籤。 若要預覽報表,請執行應用程式,然後預覽內嵌在應用程式中的報表。

Visual Studio 報表設計師會與 [資料來源] 視窗整合。 當使用者將欄位從 [資料來源] 視窗拖曳至報表時,報表設計師會將資料來源的相關中繼資料複製到報表定義檔中。 [ReportViewer] 控制項會利用此中繼資料自動產生資料繫結程式碼。

在 Visual Studio 中,透過 Business Intelligence Development Studio 建立報表定義。 Business Intelligence Development Studio 會加入 SQL Server 元件專屬的專案範本。 若要建立報表,請從報表伺服器專案或報表伺服器專案精靈範本中選擇。

[資料] 索引標籤、[配置] 索引標籤及 [預覽] 索引標籤可讓您定義資料、建立報表配置,並在相同的工作空間中預覽報表。

部署和散發

您的應用程式可以包含可轉散發控制項和 .rdlc 檔。 您可以傳入報表定義來作為資料流。

在您建立及部署的應用程式中,ReportViewer 主控表單或網頁中的報表。

ReportViewer 工具列提供頁面導覽、列印、搜尋及匯出格式,以支援執行階段作業。

部署 SQL ServerReporting Services 報表伺服器。 您可以將報表定義儲存在報表伺服器資料庫中、在伺服器中處理這些定義,並在以瀏覽器為基礎的應用程式或自訂應用程式中檢視它們。

報表工具列提供頁面導覽、列印、搜尋及匯出格式。

檢視工具和 SharePoint Web 組件可讓您在需要時檢視報表。

散發功能包含以訂閱為基礎的報表傳遞,目的地為電子郵件位址和檔案共用位置。

網際網路存取

如果您要讓供網際網路存取的 Web 應用程式能夠使用報表,建議您使用在網頁中主控的 [ReportViewer] 控制項。

您可以利用您的應用程式支援的安全性基礎結構,將控制項和報表納入現有的 Web 應用程式中。

您可以設定 Reporting Services 報表伺服器以供網際網路存取。 您可能需要根據應用程式和使用者的需求,來建立自訂驗證延伸模組、修改組態檔,並設定安全通訊端層 (SSL) 的伺服器。 如需詳細資訊,請參閱<規劃外部網路或網際網路部署>。

企業功能

控制項中不提供。 不過,您可以搭配其他提供企業功能的應用程式來使用控制項。

ReportViewer 控制項很適合用來提供內嵌在 Windows Form 應用程式和 ASP.NET 網頁中預先定義的報表。

ReportViewer 控制項可以主控報表伺服器向外延展部署中的報表 (對控制項而言,報表伺服器部署是透明的)。

您可以在執行於任何高可用性部署模型中的自訂應用程式中使用控制項。

Reporting Services 支援這些企業功能:

  • 向外延展部署。

  • 已排程和視需要報表處理。

  • 可在需要時針對單次使用來建立,或儲存至伺服器的特定報表。

  • 可將自訂報表輸出路由至收件者動態清單的資料導向訂閱。

  • 管理和組態工具。

自訂

可透過 API 支援自訂。

您也可以在報表和 [ReportViewer] 工具列上設定屬性,來決定是否可見及功能可用性。

您可以建立延伸模組來新增資料處理、報表傳遞、自訂驗證及報表轉譯的支援。

您可以在報表、報表工具列及報表伺服器中設定屬性。

可透過延伸 API 來支援其他自訂。

範例和逐步解說

搜尋 Visual Studio 產品文件集中或 MSDN 上 (位於 Visual Studio 中) 的「Visual Studio 中的範例和逐步解說」。

如需有關 Reporting Services 中範例和逐步解說的詳細資訊,請參閱<我如何找到教學課程>。

文件集

搜尋 Visual Studio 產品文件集中或 MSDN 上的「ReportViewer 控制項 (Visual Studio)」。

在《SQL Server 線上叢書》中有 Reporting Services 的說明。