データ処理拡張機能を実装する準備

SQL ServerReporting Services データ処理拡張機能を実装する前に、実装するインターフェイスを定義しておく必要があります。インターフェイスのセット全体にわたって拡張機能固有の実装を行うことができます。IDataReader インターフェイスや IDbCommand インターフェイスなど、サブセットだけを実装することもできます。このようなインターフェイスでは、クライアントが DataReader オブジェクトとして主に結果セットと対話し、SSRS データ処理拡張機能を結果セットとデータ ソース間のブリッジとして使用します。

データ処理拡張機能は、次の 2 種類の方法のいずれかで実装できます。

  • データ処理拡張機能のクラスは Microsoft.NET Framework データ プロバイダ インターフェイスを実装でき、Reporting Services によって提供される拡張されたデータ処理拡張機能インターフェイスをオプションで実装できます。

  • データ処理拡張機能のクラスは、Reporting Services によって提供されるデータ処理拡張機能インターフェイスを実装でき、拡張されたデータ処理拡張機能インターフェイスをオプションで実装できます。

Reporting Services データ処理拡張機能が特定のプロパティやメソッドをサポートしない場合は、プロパティやメソッドを非操作として実装します。クライアントが特定の動作を必要とする場合は、NotSupportedException 例外をスローします。

注意注意

プロパティやメソッドの非操作実装は、実装することを選択したインターフェイスのプロパティとメソッドにのみ適用されます。オプションのインターフェイスを実装しないことを選択した場合は、そのインターフェイスをデータ処理拡張機能アセンブリから除外してください。インターフェイスが必須またはオプションのいずれであるかの詳細については、後述する表を参照してください。

必須の拡張機能

Reporting Services のすべてのデータ処理拡張機能は、次の機能を提供する必要があります。

  • データ ソースへの接続を開きます。

  • クエリを分析し、結果セットにフィールド名の一覧を返します。

  • データ ソースに対してクエリを実行し、行セットを返します。

  • 1 つの値を持つパラメータをクエリに渡します。

  • 行セットの行を反復処理し、データを取得します。

各データ処理拡張は、次の機能を含めるように拡張できます。

  • クエリを分析し、クエリで使用したパラメータ名の一覧を返します。

  • クエリを分析し、クエリをグループ化するフィールドの一覧を返します。

  • クエリを分析し、クエリを並べ替えるフィールドの一覧を返します。

  • 接続文字列と無関係なデータ ソースと接続するために、ユーザー名とパスワードを指定します。

  • 行セットの行を反復処理し、データ値に関する補助メタデータを取得します。

  • サーバーでデータを集計します。

使用可能な拡張機能インターフェイス

以下は使用可能なインターフェイスの一覧です。実装が必須かどうかも記載されています。

インターフェイス

説明

実装

IDbConnection

データソースとの一意のセッションを表します。クライアント/サーバー データベース システムの場合は、セッションがサーバーとのネットワーク接続と同じことがあります。

必須

IDbConnectionExtension

SSRS データ処理拡張機能によって実装できる、セキュリティと承認に関する追加の接続プロパティを表します。

省略可

IDbTransaction

ローカル トランザクションを表します。

必須

IDbTransactionExtension

SSRS データ処理拡張機能によって実装できる追加のトランザクション プロパティを表します。

省略可

IDbCommand

データ ソースと接続するときに使用するクエリまたはコマンドを表します。

必須

IDbCommandAnalysis

クエリを分析する場合、およびクエリに使用するパラメータ名の一覧を返す場合の追加のコマンド情報を表します。

省略可

IDataParameter

コマンドまたはクエリに渡すパラメータまたは名前と値のペアを表します。

必須

IDataParameterCollection

コマンドまたはクエリに関連するすべてのパラメータのコレクションを表します。

必須

IDataReader

データ ソースから順方向専用、読み取り専用のデータのストリームを読み取るメソッドを提供します。

必須

IDataReaderExtension

データ ソースでコマンドを実行することによって取得された、順方向専用の結果セットのストリームを 1 つ以上読み取るメソッドを提供します。このインターフェイスは、フィールド集計の追加サポートを提供します。

省略可

IExtension

Reporting Services データ処理拡張機能の基本クラスです。ローカライズされた拡張機能名を追加し、構成ファイルから拡張機能へ構成設定を渡すインプリメンタも有効にします。

必須

データ処理拡張機能インターフェイスは、可能な場合は .NET Framework データ プロバイダのインターフェイス、メソッド、およびプロパティのサブセットと同じです。完全な .NET Framework データ プロバイダの実装の詳細については、.NET Framework Software Development Kit (SDK) ドキュメントの「.NET Framework データ プロバイダの実装」を参照してください。