配信拡張機能をデプロイする
配信拡張機能では、その構成情報を XML 構成ファイルの形式で指定します。 XML ファイルは、配信拡張機能に定義された XML スキーマに従います。 配信拡張機能により、構成ファイルを設定および変更するためのインフラストラクチャが提供されます。
配信拡張機能を置き換えたり、アップグレードしたりしても、配信拡張機能を参照するすべてのサブスクリプションは有効なままです。
Reporting Services 配信拡張機能を作成して Microsoft .NET Framework ライブラリにコンパイルした後、拡張機能を適切なディレクトリにコピーし、レポート サーバーが検索できるように適切な Reporting Services 構成ファイルにエントリを追加する必要があります。
構成ファイル拡張要素
構成ファイルでは、レポート サーバーに配置する配信拡張機能を Extension 要素として入力する必要があります。 レポート サーバーの構成ファイルは、RSReportServer.config です。
次の表では、配信拡張機能の Extension 要素の属性について説明します。
属性 | 内容 |
---|---|
名前 | 拡張機能の一意な名前 (たとえば、電子メール配信拡張機能の場合は "レポート サーバーの電子メール"、ファイル共有配信拡張機能の場合は "レポート サーバーのファイル共有")。 Name 属性の最大文字数は 255 文字です。 名前は、構成ファイルの Extension 要素内にあるすべてのエントリの間で一意にする必要があります。 重複する名前がある場合には、レポート サーバーによってエラーが返されます。 |
Type | アセンブリの名前と共に完全修飾名前空間を含むコンマ区切りの一覧。 |
[表示] | false の値は、配信拡張機能がユーザー インターフェイスに表示されないようにすることを示します。 属性が含まれていない場合、既定値は true です。 |
RSReportServer.config ファイルの詳細については、Reporting Services 構成ファイルを参照してください。
レポート サーバーに拡張機能を配置する
レポート サーバーでは、通知またはレポートを処理して配信するために配信拡張機能を使用します。 レポート サーバーには、プライベート アセンブリとして配信拡張機能アセンブリを配置する必要があります。 また、レポート サーバーの構成ファイル RSReportServer.config にエントリを作成する必要もあります。
配信拡張機能アセンブリをレポート サーバーに配置する
ステージング場所から、配信拡張機能を使用するレポート サーバーの bin ディレクトリにアセンブリをコピーします。 レポート サーバーの bin ディレクトリの既定の場所は .
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer\bin
重要
既存の配信拡張機能アセンブリを上書きする場合、まず、レポート サーバー サービスを停止してから、更新済みのアセンブリをコピーする必要があります。 そのアセンブリをコピーした後で、サービスを再起動します。
アセンブリ ファイルをコピーした後、RSReportServer.config ファイルを開きます。 RSReportServer.config ファイルはディレクトリにあります
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer
。 配信拡張機能アセンブリ ファイルの構成ファイルにエントリを作成する必要があります。 構成ファイルは、Microsoft Visual Studio またはメモ帳などのシンプルなテキスト エディターを使用して開くことができます。RSReportServer.config ファイルで Delivery 要素を探します。 新しく作成した配信拡張機能のエントリは、次の場所に作成する必要があります。
<Extensions> <Delivery> <Your extension configuration information goes here> </Delivery> </Extensions>
配信拡張機能のエントリを追加します。 エントリには、Name および Type の値で構成される Extension 要素を含める必要があります。このエントリは次のようになります。
<Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryExtensionClass, AssemblyName" />
Name の値は、配信拡張機能の一意な名前です。 Type の値は、IDeliveryExtension インターフェイスを実装するクラスの完全修飾名前空間のエントリを含むコンマ区切りの一覧であり、その後にアセンブリの名前 (.dll ファイル拡張子は付けない) が続きます。 既定では、配信拡張機能が表示されます。 Web ポータルなどのユーザー インターフェイスで拡張機能を非表示にするには、Extension 要素に Visible 属性を追加して、false に設定します。
最後に、配信拡張機能の FullTrust アクセス許可を与えるカスタム アセンブリのコード グループを追加します。 この手順を実行するには、既定
%ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer
で配置されている rssrvpolicy.config ファイルにコード グループを追加します。 コード グループは次の例のようになります。<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="MyExtensionCodeGroup" Description="Code group for my delivery extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS13.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll" /> </CodeGroup>
URL 構成要素は、配信拡張機能に選択できる多くの構成要素条件のうちの 1 つにすぎません。 SSRS のコード アクセス セキュリティの詳細については、「セキュリティで保護された開発 (Reporting Services)」を参照してください 。
デプロイを検証する
配信拡張機能が正常にレポート サーバーに配置されたかどうかを確認するには、Web サービスの ListExtensions メソッドを使用します。 また、Web ポータルを開き、配信拡張機能がサブスクリプションに有効な配信拡張機能の一覧に含まれていることを確認する方法もあります。 Web ポータルとサブスクリプションの詳細については、「サブスクリプションと配信 (Reporting Services)」を参照してください。