データ処理拡張機能の実装を準備する
SQL Server Reporting Services データ処理拡張機能を実装する前に、実装するインターフェイスを定義しておく必要があります。 インターフェイスのセット全体の拡張機能固有の実装を提供する場合や、クライアントが主に結果セットと DataReader オブジェクトとして対話し、SSRS データ処理拡張機能を結果セットとIDbCommandデータ ソースの間のブリッジとして使用するインターフェイスなどIDataReader、サブセットに実装を集中したい場合があります。
データ処理拡張機能は、次の 2 種類の方法のいずれかで実装できます。
お使いのデータ処理拡張機能のクラスで .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 データ プロバイダーの実装」を参照してください。