次の方法で共有


RDL と RDLC ファイルの変換

ReportViewer コントロールと Microsoft SQL Server 2005 Reporting Services の両方を使用している場合、各レポート テクノロジで作成したレポートを、両方で再利用できます。

  • SQL Server 2005 Reporting Services で作成したレポート (.rdl ファイル) を、ReportViewer コントロールで使用するクライアント レポート定義 (.rdlc) ファイル形式に変換できます。これを RDL から RDLC への変換と呼びます。

  • ReportViewer コントロール用に作成したレポート (.rdlc ファイル) を、SQL Server Reporting Services で使用するレポート定義 (.rdl) ファイル形式に変換できます。これを RDLC から RDL への変換と呼びます。

RDL と RDLC の比較

RDL ファイルと RDLC ファイルには、次に説明するような技術上および用語上の重要な相違点があります。

  • RDL および RDLC は、レポート定義言語という XML スキーマで定義されます。両方のファイル形式のスキーマは同一です。このスキーマについては、SQL Server 2005 オンライン ブックで説明されています。

  • ReportViewer コントロールでは .rdlc ファイルが処理され、RDL の <Query> 要素は無視されます。レポート定義にクエリが含まれている場合、コントロールでは処理されません。

[!メモ]

クライアント レポート定義 (.rdlc) ファイルが最初に .rdl ファイルとして作成された場合は、クエリのみが含まれています。

  • Visual Studio 2008 と SQL Server 2005 では、データセットとデータ ソースという用語の意味が異なります。Visual Studio では、データセットとはデータ テーブルの集まりであり、論理上、データを取得するクエリまたはコマンドと同じです。Reporting Services では、データセットには次の部分が含まれています。

    • データ ソースの種類と接続文字列を含むデータ ソース情報。データ ソースの種類によって、レポート サーバーに配置されるデータ処理拡張機能を指定します。

    • 資格情報。これにより、データ ソース接続の資格情報の取得方法を指定します。

    • クエリまたはコマンド情報。データを取得するときに使用します。

視覚的には、ReportViewer コントロールで実行するように構成されている .rdlc ファイルには、デザイナ ビューの下部に表示されるデータセット オブジェクト、バインド ソース オブジェクト、およびテーブル オブジェクトがあります。次の図は、Windows フォームでこれらのオブジェクトがどのように表示されるかを示しています (Web ページでは、同じデータ バインド オブジェクトが異なって表示されます)。

プロジェクト ワークスペースのデータ オブジェクト

ReportViewer コントロールで使用するために .rdlc ファイルを選択しても、データ オブジェクトがプロジェクトに表示されない場合は、名前が変更された .rdl ファイルを見ている可能性があり、完全に機能する .rdlc ファイルにするには、さらに変換手順を実行する必要があります。

データセット名が紛らわしい場合があります。既定では、Reporting Services では作成された最初のデータセットのデータ ソース名を使用します (たとえば、データセットがいずれかのテーブルからデータを取得するだけであっても、データセット名が "Northwind" である場合があります)。

レポート定義を変換する方法

RDLC ファイルに変換できるのは、SQL Server 2005 RDL ファイルだけです。以前のバージョンの RDL ファイルの場合は、SQL Server 2005 にアップグレードしてから .rdlc ファイル形式に移行する必要があります。レポート定義をアップグレードするには、SQL Server 2005 バージョンのレポート デザイナでそのレポートを開きます。

どちらのファイルの種類のレポート定義を変換する場合でも、データ ソースとクエリ情報を再作成する必要があります。元のレポートで使用したものと同一または構造的に同一のデータ ソース スキーマを必ず選択してください。スキーマが異なる場合は、使用するデータ ソースのレポート レイアウトが無効になる場合があります。別のデータ ソースを使用する場合は、レポートを変換するのではなく、最初から作成し直すほうが簡単です。

RDL から RDLC への変換

.rdl ファイルを .rdlc 形式に変換する場合は、レポート定義のデータ ソースおよびクエリ情報をアプリケーションで提供されているデータ構造に手動で置換する必要があります。

  1. .rdlc ファイル拡張子を使用するように .rdl ファイルの名前を変更します。

  2. Visual Studio 2008 で、レポートが含まれているソリューションまたはプロジェクトを開きます。

  3. プロジェクトまたはソリューションに使用するデータを定義するデータセットを作成または追加します。詳細については、「レポートのデータ ソースの作成」を参照してください。

  4. [プロジェクト] メニューで、[既存項目の追加] をクリックし、手順 1. で作成した .rdlc ファイルを選択します。

  5. プロジェクトで、レポートが含まれているフォームまたは Web ページを開きます。

  6. ツールボックスの [データ] グループから ReportViewer コントロールをフォームまたは Web ページにドラッグします。

  7. [ReportViewer タスク] スマート タグ パネルの [レポートの選択] で、コントロールで使用する .rdlc ファイルを選択します。

  8. [ReportViewer タスク] スマート タグ パネルの [データ ソースの選択] で、使用するデータセットを選択します。データセット オブジェクト、バインド ソース オブジェクト、およびテーブル オブジェクトがワークスペースの下部に表示されます。データ ソース参照の更新の詳細については、「データ ソース参照の更新および再バインド (Visual Studio レポート デザイナ)」を参照してください。

  9. すべてのファイルを保存してから、プロジェクトをビルドまたは配置して、レポートに必要なデータが含まれていることを確認します。

RDLC から RDL への変換

次の条件が満たされている場合、.rdlc ファイルの .rdl 形式への変換は自動的に行われます。

  • .rdlc ファイルによって使用されるデータ ソースで、統合セキュリティを使用している。

  • レポート データがデータ テーブルを通じて提供されている。.rdlc ファイルでビジネス オブジェクトのデータが使用されている場合は、.rdlc ファイルを手動で変換する必要があります。レポート サーバーには、レポート内のビジネス オブジェクトを処理する機能はありません。

  • .rdlc ファイルで使用するデータ ソースが、レポート サーバーにインストールされているいずれかのデータ処理拡張機能にマップされている (たとえば、データ ソースが SQL Server データベースである場合は、レポート サーバーに既定でインストールされている SQL Server データ処理拡張機能を使用できます)。

  • クエリおよびデータ ソースの接続情報を変更する必要がない。

.rdlc を自動的に変換するには、.rdlc ファイルの名前を .rdl に変更し、レポート サーバーに .rdl ファイルをパブリッシュまたはアップロードします。SQL Server 2005 の Business Intelligence Development Studio を使用して .rdl ファイルをパブリッシュできます。レポート プロジェクトの作成、レポートのパブリッシュ、およびファイルのアップロードについては、SQL Server 2005 オンライン ブックを参照してください。

.rdlc を .rdl ファイル形式に手動で変換するには、次の手順を実行します。

  1. .rdl ファイルで使用するデータ ソースを指定します。SQL Server リレーショナル データベース、Analysis Service 多次元データベース、Oracle データベース、およびサポートされている他のデータ ソースを使用できます。元の .rdlc レポート レイアウトを作成するときに使用したスキーマと同じスキーマを使用する必要があります。

  2. .rdl ファイル拡張子を使用するように .rdlc ファイルの名前を変更します。

  3. SQL Server 2005 の Business Intelligence Development Studio で、レポートが含まれているレポート サーバー プロジェクトを作成するか開きます。

  4. [プロジェクト] メニューの [既存項目の追加] をクリックします。手順 1. で作成した .rdl ファイルを選択し、プロジェクトに追加します。

  5. ソリューション エクスプローラで、プロジェクトに追加した .rdl ファイルを開きます。レポート定義はデザイン モードで開きます。[データ]、[レイアウト]、および [プレビュー] タブが表示されます。[データ] をクリックして、データ ビューでレポートを開きます。

  6. 次の図のように、データ ビューで最初のデータセットを選択して [編集] ボタン (...) をクリックします。

    データセット編集のアイコン

  7. [データセット] ダイアログ ボックスで、データ ソース名の [編集] ボタン (...) をクリックします。

  8. 接続情報を更新します。接続文字列を置換して、使用するデータ ソースにレポートが接続されるようにします。データ ソースの種類、サーバー、認証オプション、およびデータベースの選択を更新することが必要な場合があります。

  9. [実行] (!) をクリックして、データ ソースが必要なデータを返すことを確認します。

  10. これまでの手順を繰り返して、レポートで使用されている他のデータ ソースを変更します。

  11. レポートをプレビューし、指定したとおりにデータがレポート レイアウトにマージされていることを確認します。レポートをプレビューするには、[プレビュー] タブをクリックします。

参照

概念

レポートと ReportViewer コントロールの配置
ローカル処理のための ReportViewer の構成

その他のリソース

サンプルとチュートリアル