表示拡張機能の配置

Reporting Services のレポート表示拡張機能は、作成して .NET Framework ライブラリにコンパイルした後、レポート サーバーおよびレポート デザイナーで検出できるようにする必要があります。それには、拡張機能を適切なディレクトリにコピーし、適切な Reporting Services 構成ファイルにエントリを追加します。

構成ファイルの表示拡張機能要素

表示拡張機能を .DLL にコンパイルした後、rsreportserver.config ファイルにエントリを追加します。既定では、%ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer にあります。親要素は <Render> です。Render 要素の下には、各表示拡張機能の Extension 要素があります。Extension 要素には、Name と Type という 2 つの属性があります。

次の表では、表示拡張機能の Extension 要素の属性について説明します。

属性

説明

Name

拡張機能の一意の名前。Name 属性の最大文字数は 255 文字です。名前は、構成ファイルの Extensions 要素内のすべてのエントリの中で一意にする必要があります。重複する名前がある場合には、レポート サーバーによってエラーが返されます。

Type

アセンブリの名前と共に完全修飾名前空間を含むコンマ区切りの一覧です。

Visible

値が false の場合、表示拡張機能がユーザー インターフェイスに表示されないことを示します。この属性が指定されない場合、既定値は true になります。

LogAllExecutionRequests

値が false の場合、エントリがログに記録されるのは、セッションでレポートが最初に実行されるときのみであることを示します。この属性が指定されない場合、既定値は true になります。

この設定によって、レポートに最初に表示されるページについてのみエントリをログに記録するか (false の場合)、レポートに表示されるページごとにエントリをログに記録するか (true の場合) が決まります。

詳細については、「RSReportServer 構成ファイル」を参照してください。

レポート サーバーへの拡張機能の配置

レポート サーバーでは、レポートを他の形式にエクスポートするとき、表示拡張機能を使用します。レポート サーバーにプライベート アセンブリとして表示拡張機能アセンブリを配置する必要があります。また、レポート サーバーの構成ファイル rsreportserver.config にエントリを作成する必要もあります。

アセンブリを配置するには

  1. ステージング場所から、表示拡張機能を使用するレポート サーバーの bin ディレクトリにアセンブリをコピーします。レポート サーバーの Bin ディレクトリの既定場所は、%ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\Bin です。

  2. アセンブリ ファイルをコピーした後、rsreportserver.config ファイルを開きます。rsreportserver.config ファイルもレポート サーバーの bin ディレクトリにあります。構成ファイルに拡張機能アセンブリ ファイルのエントリを作成する必要があります。Visual Studio または簡単なテキスト エディターを使用して、ファイルを開くことができます。

    詳細については、「RSReportServer 構成ファイル」を参照してください。

  3. Rsreportserver.config ファイルで Render 要素を探します。新しく作成した拡張機能のエントリは、次の場所に作成する必要があります。

    <Extensions>
       <Render>
          <extension configuration>
       </Render>
    </Extensions>
    
  4. 表示拡張機能のエントリを追加します。エントリには、Name および Type の値で構成される要素を含める必要があります。このエントリは次のようになります。

    <Extension Name="My Rendering Extension Name" Type="CompanyName.ExtensionName.MyRenderingProvider, AssemblyName" />
    

    Name の値は、表示拡張機能の一意な名前です。Type の値は、IRenderingExtension 実装の完全修飾名前空間に続けて、アセンブリの名前 (.dll ファイル拡張子を含まない) をコンマで区切って指定したものです。既定では、表示拡張機能が表示されます。レポート マネージャーなどのユーザー インターフェイスで拡張機能を非表示にするには、Extension 要素に Visible 属性を追加して、false に設定します。

配置の確認

表示拡張機能が正常にレポート サーバーに配置されたかどうかを確認するには、Web サービスの ListExtensions(ExtensionTypeEnum) メソッドを使用します。また、レポート マネージャーを開き、配信拡張機能がレポートに有効なエクスポートの種類の一覧に含まれていることを確認することもできます。