表示拡張機能をデプロイする

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 属性の最大文字数は 255 文字です。 名前は、構成ファイルの Extensions 要素内のすべてのエントリの中で一意にする必要があります。 重複する名前がある場合には、レポート サーバーによってエラーが返されます。
Type アセンブリの名前と共に完全修飾名前空間を含むコンマ区切りの一覧。
[表示] false値は、表示拡張機能がユーザー インターフェイスに表示されないようにする必要があることを示します。 属性が含まれていない場合、既定値は true です
LogAllExecutionRequests 値が false の場合、エントリがログに記録されるのは、セッションでレポートが最初に実行されるときのみであることを示します。 属性が含まれていない場合、既定値は true です

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

詳細については、RsReportServer.config 構成ファイルを参照してください

レポート サーバーに拡張機能を配置する

レポート サーバーでは、レポートを他の形式にエクスポートするとき、表示拡張機能を使用します。 レポート サーバーにプライベート アセンブリとして表示拡張機能アセンブリを配置する必要があります。 また、レポート サーバーの構成ファイル 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.config 構成ファイルを参照してください

  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に設定します。

デプロイを検証する

また、レポート マネージャーを開き、配信拡張機能がレポートに有効なエクスポートの種類の一覧に含まれていることを確認することもできます。