Visual Studio の Reporting Services および ReportViewer コントロール
新規 : 2005 年 12 月 5 日
ReportViewer コントロールは、ASP.NET アプリケーション プロジェクトの Web ページや Visual Basic Windows アプリケーションのフォームに追加できる Visual Studio データ コントロールです。このコントロールを使用すると、レポートの処理および表示の機能を直接アプリケーションに埋め込むことができます。また、統合されたデザイン環境が提供されるため、ADO.NET データ オブジェクトのデータを使用してクライアント レポート定義 (.rdlc) を作成できます。完全な機能を備えた API により、コントロールやレポートにプログラムでアクセスできるため、レポートの機能を実行時に構成することができます。
ReportViewer コントロールは Reporting Services と同じ Microsoft レポート テクノロジに基づいていますが、Visual Studio 2005 のデータ コントロールとして配布されています。このコントロールは、Reporting Services と一緒に使用することも、豊富なレポート機能を提供する埋め込みデータ コントロールとして使用することもできます。
ReportViewer コントロールの詳細については、Visual Studio 製品マニュアルの「ReportViewer コントロール (Visual Studio)」を参照してください。
機能の要約
次の表では、ReportViewer コントロールと Reporting Services を、レポート処理、データの取得、配置、レポートのデザインなどについて比較しています。この情報を使用して、どちらの Microsoft レポート テクノロジがアプリケーションに適しているかを判断できます。
機能 | ReportViewer コントロール | SQL Server Reporting Services |
---|---|---|
レポート処理 |
クライアント アプリケーションでレポートを処理する (ローカル モード) か、リモートの SQL Server Reporting Services レポート サーバーで実行されるサーバー レポートをホストします (リモート モード)。 |
インターネット インフォメーション サービス (IIS) 上で実行される中間層 Web サービスであるレポート サーバーでレポートを処理します。 |
レポートの出力形式 |
Windows アプリケーションで実行されるレポートの場合は GDI、ASP.NET Web ページで実行されるレポートの場合は HTML。 エクスポート形式には Microsoft Excel や PDF があります。 |
HTML、MHTML、TIFF、PDF、Excel、CSV、および XML。 カスタムの出力形式を作成することもできます。 |
レポート機能 |
多次元データ、リレーショナル データ、およびビジュアル データの対話型レポートと静的レポート。 レポート内で実行するカスタム アセンブリを定義できます。 条件付き書式や集計のための式を使用できます。 |
ReportViewer コントロールで提供されるすべてのレポート機能を利用できるほか、カスタム レポート コントロールを作成してレポート内で実行できます。 |
データ ソースの種類とデータの取得 |
クライアント側の処理 : ADO.NET データ テーブルに直接バインドして、コントロールに提供される DataTable のインスタンスを使用します。ビジネス オブジェクトに直接バインドすることもできます。データ処理はレポート処理から切り離されています。アプリケーションがレポートに行セットを提供し、その行セットをコントロールがレポートにマージして出力形式に変換します。 サーバー側の処理 : サポートされている種類のデータ ソースのデータがレポートに含まれます。レポート サーバーでデータの処理とレンダリングが行われた後、ReportViewer コントロールにレポートが読み込まれます。 |
レポート サーバーとリモート データ サーバーのデータ処理とレポート処理は統合されています。 レポート サーバーのデータ処理拡張機能によって、サポートされるデータ ソースの種類が決まります。既定のデータ ソースには、SQL Server、Analysis Services、SQL Server Integration 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 は、作成して配置するアプリケーションのフォームや Web ページでレポートをホストします。 [ReportViewer] ツール バーには、実行時の操作をサポートするためのページ ナビゲーション、印刷、検索、および形式のエクスポートの機能が用意されています。 |
SQL Server Reporting Services のレポート サーバーを配置します。レポート定義はレポート サーバー データベースに格納され、サーバー上で処理されて、ブラウザ ベースのアプリケーションやカスタム アプリケーションで表示されます。 レポート ツール バーには、ページ ナビゲーション、印刷、検索、および形式のエクスポートの機能が用意されています。 表示ツールと SharePoint Web パーツを使用すると、レポートを要求時に表示できます。 配布機能については、サブスクリプションに基づく電子メール アドレスへのレポートの配信やファイル共有の場所を利用できます。 |
インターネット アクセス |
Web ページでホストされる ReportViewer コントロールは、インターネットに接続された Web アプリケーションでレポートを利用できるようにする場合に推奨される方法です。 アプリケーションでサポートされているセキュリティ インフラストラクチャを使用して、コントロールとレポートを既存の Web アプリケーションに組み込むことができます。 |
Reporting Services のレポート サーバーをインターネット アクセス用に構成することができます。アプリケーションやユーザーの要件によっては、カスタム認証拡張機能の作成、構成ファイルの変更、Secure Sockets Layer (SSL) 用のサーバーの構成などが必要になる場合もあります。詳細については、「インターネット アクセス用のレポート サーバーの構成」を参照してください。 |
エンタープライズ機能 |
このコントロールにはエンタープライズ機能はありません。ただし、エンタープライズ機能を提供する他のアプリケーションと一緒に使用できます。 ReportViewer コントロールは、Windows フォーム アプリケーションや ASP.NET Web ページに埋め込まれる定義済みのレポートの提供に理想的です。 ReportViewer コントロールでは、レポート サーバーのスケールアウト配置のレポートをホストできます (レポート サーバーの配置はコントロールに対して透過的です)。 このコントロールは、あらゆる高可用性配置モデルで実行されるカスタム アプリケーションで使用できます。 |
Reporting Services は、以下のエンタープライズ機能をサポートしています。
|
カスタマイズ |
カスタマイズは API によってサポートされます。 また、レポートや [ReportViewer] ツール バーのプロパティを設定して、表示方法や利用可能な機能を指定できます。 |
データ処理、レポート配信、カスタム認証、およびレポート表示のサポートを追加する拡張機能を作成できます。 レポート、レポート ツール バー、およびレポート サーバーのプロパティを設定できます。 その他のカスタマイズは、多彩な API によってサポートされます。 |
サンプルとチュートリアル |
Visual Studio 製品マニュアルの「サンプルとチュートリアル」を参照してください。 |
Reporting Services のサンプルとチュートリアルについては、「Reporting Services のチュートリアル」を参照してください。 |
ドキュメント |
Visual Studio 製品マニュアルの「ReportViewer コントロール (Visual Studio)」を参照してください。 |
Reporting Services のドキュメントは、SQL Server 2005 Books Online に含まれています。詳細については、「SQL Server Reporting Services」を参照してください。 |
MSDN でこれらのトピックを参照する場合は、「サンプルとチュートリアル」および「ReportViewer コントロール (Visual Studio)」を参照してください。
参照
概念
Reporting Services のコンポーネントの概要
レポート サーバー
Reporting Services の紹介
その他の技術情報
アプリケーションへの Reporting Services の統合