共用方式為


部署自訂組件

若要在 SQL Server Reporting Services 中部署自定義元件,請將元件放在報表設計師和報表伺服器的應用程式資料夾中。 根據預設,自定義元件會在 Reporting Services 中授與 Execution 許可權。 若要授與超出執行許可權的自定義元件許可權,您必須編輯報表伺服器的 rssrvpolicy.config 組態檔,以及報表設計師預覽視窗的 rspreviewpolicy.config 組態檔。 或者,您可以在全域程式集緩存中安裝自定義元件(GAC)。

備註

報表設計師有兩種預覽模式:[預覽] 索引卷標和以模式啟動報表項目 DebugLocal 時啟動的快顯預覽視窗。 [預覽] 索引標籤會使用 FullTrust 許可權集合執行所有報表運算式,而且不會套用安全策略設定。 快顯預覽視窗是為了模擬報表伺服器功能,因此具有原則組態檔,您或系統管理員必須在報表設計師中修改以使用自定義元件。 此快顯預覽也會鎖定自定義元件。 因此,您必須關閉預覽視窗,才能修改或更新自定義元件程式代碼。

在 Reporting Services 中部署自定義元件
  1. 將自定義元件從組建位置複製到報表伺服器 bin 資料夾或報表設計師資料夾。 報表伺服器之 bin 資料夾的預設位置為 \%ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin。 報表設計師的預設位置為 \%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies。

    將自定義元件放在報表伺服器 bin 資料夾中可讓您發佈參考自定義元件的報表,並將它放在 [報表設計師] 資料夾中,可讓您在報表設計師中執行和偵錯參考自定義元件的報表。

    如果您需要將自訂元件程式代碼權限授與預設執行權限以外的權限:

  2. 開啟適當的組態檔。 rssrvpolicy.config 的預設位置為 \%ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer。 rspreviewpolicy.config 的預設位置是 \%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies。

  3. 為自訂元件新增程式代碼群組。 如需詳細資訊,請參閱 安全開發(Reporting Services)

更新自訂元件

在某些時候,您可能需要更新幾個已發佈報表目前參考的自定義元件版本。 如果該元件已存在於報表伺服器或報表設計師的 bin 目錄中,而且元件的版本號碼會以某種方式遞增或變更,則目前發佈的報表將無法再正常運作。 您必須更新報表定義元素中所 CodeModules 參考的元件版本,並重新發佈報表。 如果您知道經常更新自定義元件,且您目前發佈的報表需要參考新的元件,您可以考慮在特定元件的所有更新中使用相同的版本號碼。

如果您不需要目前發佈的報表來參考新版本的元件,您可以將自定義元件部署至全域程式集緩存。 全域程式集緩存可以維護相同元件的多個版本,讓目前的報表可以參考舊版的元件,而新發行的報表可以參考更新的元件。 然而,另一種方法是設定報表伺服器的系結重新導向,以強制將舊元件的所有要求重新導向至新的元件。 您必須修改報表伺服器 Web.config 檔案和報表伺服器 ReportService.exe.config 檔案。 項目看起來可能如下所示:

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <dependentAssembly>  
            <assemblyIdentity name="myAssembly"  
                              publicKeyToken="32ab4ba45e0a69a1"  
                              culture="neutral" />  
            <bindingRedirect oldVersion="1.0.0.0"  
                             newVersion="2.0.0.0"/>  
         </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

另請參閱

將自訂組件與報表搭配使用
使用元件和全域程式集緩存