データ処理拡張機能の Connection クラスを実装する
Connection オブジェクトはデータベース接続や類似するリソースを表す、ユーザーにとっての SQL Server Reporting Services データ処理拡張機能の出発点です。 このオブジェクトはデータベース サーバーへの接続を表しますが、類似する動作を持つエンティティが Connection として表示される可能性があります。
Connection オブジェクトを実装するには、IDbConnection を実装し、オプションで IDbConnectionExtension を実装するクラスを作成します。
実装では、接続が作成され、開かれていることを確認した後でコマンドを実行する必要があります。 実装にはクライアントが接続を明示的に開閉する必要があります。実装がクライアントの接続を暗黙的に開閉するのではありません。 接続を取得したら、セキュリティ チェックを実行します。 SSRS データ処理拡張機能の他のクラスに対して既存の接続を必要とすることで、データ ソースを操作するときにセキュリティチェックが常に実行されるようになります。
該当する接続のプロパティは、接続文字列として表されます。 SSRS データ処理拡張機能では、OLE DB で定義されている使い慣れた名前と値のペア システムを使用してプロパティをサポート ConnectionString する必要があります。
Note
Connection オブジェクトの取得にリソースが大きく消費されることがあるため、接続のプールなどの技法を検討してこの問題を緩和してください。
IDbConnection は、IExtension から継承されます。 IExtension インターフェイスは、Connection クラス実装の一部として実装する必要があります。 IExtension インターフェイスによって、クラスがローカライズされた拡張機能名を実装し、Reporting Services 構成ファイルに格納された拡張機能固有の構成情報を処理できるようになります。
IExtension の実装によって、Connection オブジェクトに LocalizedName プロパティが含まれます。 Reporting Services データ処理拡張機能では、このプロパティをサポートする LocalizedName 必要があります。 サポートにより、ユーザーはレポート マネージャーなどのユーザー インターフェイスで拡張機能の使い慣れたローカライズされた名前を検出できます。
IExtension によって、Connection オブジェクトが RSReportServer.config ファイルに格納されたカスタム構成データを取得し、処理することもできます。 カスタム構成データの処理の詳細については、SetConfiguration メソッドを参照してください。
実装する IExtension クラスは、残りのデータ処理拡張クラスがアンロードされるときに、メモリからアンロードされません。 このため、Extension クラスを使用して、接続間の状態情報を格納したり、メモリにキャッシュできるデータを格納したりできます。 Extension クラスは、レポート サーバーを実行中はメモリに残ります。
IDbConnectionExtension を実装することによって、Reporting Services の資格情報のサポートを含むように Connection クラスを拡張できます。 IDbConnectionExtension インターフェイスの IntegratedSecurity、UserName、および Password の各プロパティを実装する場合は、レポート デザイナーの [データ ソース] ダイアログ ボックスで [統合セキュリティ] チェック ボックスをオンにし、[ユーザー名] ボックスと [パスワード] ボックスに必要な情報を入力します。 これによって、レポート デザイナーは承認をサポートするデータ ソースの資格情報を格納および取得できます。 資格情報は、セキュリティによって保護されて格納され、プレビュー モードでレポートを表示する場合に使用されます。
Note
IDbConnectionExtension を暗黙的に実装するには、IDbConnection インターフェイスと IExtension インターフェイスのメンバーを実装する必要があります。
接続クラスの実装例については、「CodePlex の Reporting Services サンプル (SQL Server Reporting Services SSRS)」を参照してください。