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