共用方式為


註冊標準 .NET Framework 數據提供者 (SSRS)

若要使用第三方 .NET Framework 數據提供者來擷取 Reporting Services 報表數據集的數據,您必須在兩個位置部署和註冊 .NET Framework 數據提供者元件:在報表撰寫用戶端和報表伺服器上。 在報表撰寫用戶端上,您必須將數據提供者註冊為數據源類型,並將它與查詢設計工具產生關聯。 然後,當您建立報表數據集時,您可以選取此數據提供者作為數據源類型。 相關聯的查詢設計工具隨即開啟,以協助您建立此數據源類型的查詢。 在報表伺服器上,您必須將數據提供者註冊為數據源類型。 然後,您可以使用這個數據提供者處理從數據源擷取數據的已發佈報表。

第三方數據提供者不一定提供 Reporting Services 數據處理延伸模組所提供的所有功能。 如需詳細資訊,請參閱 Reporting Services (SSRS) 支援的資料來源。 若要瞭解如何擴充 .NET Framework 資料提供者的功能,請參閱 實作資料處理延伸模組

您需要系統管理員認證才能安裝及註冊數據提供者。

在報表伺服器上註冊 .NET Framework 數據提供者

若要處理在報表伺服器上使用這個 .NET Framework 資料提供者的已發布的報表,您必須在報表伺服器上安裝元件。 您必須修改兩個組態檔。 修改 rsreportserver.config 以註冊數據提供者。 修改 rssrvpolicy.config,以授予元件程式碼存取的安全性權限。

在報表伺服器上安裝資料提供者組件

  1. 流覽至您想要使用 .NET Framework 資料提供者之報表伺服器上 bin 目錄的預設位置。 報表伺服器 bin 目錄的預設位置是 <磁碟驅動器>:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin。

  2. 將組件從預備位置複製到報表伺服器的 bin 資料夾內。 或者,您可以在全域組件快取(GAC)中載入元件。 如需詳細資訊,請參閱 MSDN 上的 .NET Framework SDK 檔中 使用元件和全域程式集緩存

在報表伺服器上註冊 .NET 數據提供者

  1. 在 bin 的 ReportServer 父目錄中備份 RSReportServer.config 檔案。

  2. 開啟 RSReportServer.config。您可以使用 Visual Studio 或簡單的文字編輯器開啟組態檔,例如記事本。

  3. 找出 Data 元素在 RSReportServer.config 檔案中。 應該在下列位置新增 .NET Framework 數據提供者的條目:

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. 新增 .NET Framework 數據提供者的條目。

    屬性 說明
    Name 提供數據提供者的唯一名稱,例如 MyNETDataProvider。 屬性的最大長度 Name 為 255 個字元。 名稱必須在組態檔的Extension元素內所有項目中保持唯一。 當您建立新的資料來源時,此處所包含的值會出現在數據來源類型的下拉式清單中。
    Type 輸入逗號分隔清單,其中包含實作 介面之類別 IDbConnection 的完整命名空間,後面接著 .NET Framework 數據提供者元件的名稱(不包括 .dll 擴展名)。

    例如,針對部署至報表伺服器的 bin 資料夾的 DLL,條目可能類似如下:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    如果您將元件載入全域程式集緩存 (GAC),則必須提供強名稱屬性。 例如:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly,Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    

設定 .NET 數據提供者的程式代碼組策略

  1. 在 bin 的 ReportServer 父目錄中,製作 rssrvpolicy.config 檔案的備份複本。

  2. 開啟 rssrvpolicy.config。您可以使用 Visual Studio 或簡單的文字編輯器來開啟組態檔,例如 [記事本]。

  3. 找出 CodeGroup 元素在 rssrvpolicy.config 檔案中。

  4. 為授與 FullTrust 許可權的數據提供者元件新增程式代碼群組。 您的程式代碼群組可能如下所示:

    <CodeGroup class="UnionCodeGroup"  
       version="1"  
       PermissionSetName="FullTrust"  
       Name="ThisDataProviderCodeGroup"  
       Description="Code group for the .NET data provider">  
          <IMembershipCondition class="UrlMembershipCondition"  
             version="1"  
             Url=  
    "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\DataProviderAssembly.dll"  
           />  
    </CodeGroup>  
    

URL 成員資格只是您可能為數據提供者選取的許多成員資格條件之一。

驗證部署和註冊

您可以開啟報表管理員並確認資料提供者是否包含在可用數據源清單中,以確認數據提供者是否已順利部署至報表伺服器。 如需報表管理員和數據源的詳細資訊,請參閱建立、修改和刪除共享數據源 (SSRS)。

在報表設計師用戶端上註冊 .NET Framework 數據提供者

若要撰寫針對數據來源使用此 .NET Framework 數據提供者的報表,您必須在執行報表設計師的用戶端電腦上安裝元件。 您必須修改兩個組態檔。 修改 RSReportDesigner.config 將數據提供者註冊為數據源,並使用泛型查詢設計工具。 修改 RSPreviewPolicy.config,以授予資料提供者組件程式碼存取安全性權限。

在報表設計師用戶端上安裝數據提供者元件

  1. 流覽至您想要使用 .NET Framework 數據提供者之報表設計師用戶端上 PrivateAssemblies 目錄的預設位置。 PrivateAssemblies 目錄的預設位置是 <drive>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies。

  2. 將元件從預備位置複製到報表設計師用戶端的 PrivateAssemblies 目錄。 或者,您可以在全域組件快取中載入組件(GAC)。 如需詳細資訊,請參閱 MSDN 上 .NET Framework SDK 文件中的 使用組件和全域組件快取

在報表設計師用戶端上註冊 .NET 數據提供者

  1. 在 PrivateAssemblies 目錄中建立 RSReportDesigner.config 檔案的備份複本。

  2. 使用 Visual Studio 或簡單的文字編輯器開啟 RSReportDesigner.config,例如 [記事本]。

  3. 找出 RSReportDesigner.config 檔案中的 Data 元素。 資料提供者的條目應該在下列位置建立:

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. 新增數據提供者的項目。

    屬性 說明
    Name 提供數據提供者的唯一名稱,例如 MyNETDataProvider。 屬性的最大長度 Name 為 255 個字元。 名稱必須在組態檔的 Extension 元素內所有項目中是唯一的。 當您建立新的資料來源時,此處所包含的值會出現在數據來源類型的下拉式清單中。
    Type 輸入逗號分隔的清單,其中包含實作 IDbConnection 介面的類別的完整命名空間,後面接著 .NET Framework 資料提供者組件的名稱(不包括 .dll 副檔名)。

    例如,針對部署至 Visual Studio PrivateAssemblies 目錄的 DLL,專案可能如下所示:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    如果您將元件載入 GAC,則必須提供強名稱屬性。 例如:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    
  5. 找出 RSReportDesigner.config 檔案中的Designer元素。 應該在下列位置建立 .NET Framework 資料提供者的項目:

    <Extensions>  
       <Designer>  
          <Your data provider configuration information goes here>  
       </Designer>  
    </Extensions>  
    
  6. 將以下項目新增至 Designer 元素底下的 RSReportDesigner.config 檔案。 您只需要將Name屬性替換為您在先前條目中提供的名稱。

    <Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>  
    

在報表設計師用戶端上設定 .NET 數據提供者的程式代碼組策略

  1. 在 PrivateAssemblies 目錄中建立 RSPreviewPolicy.config 檔案的備份複本。

  2. 使用 Visual Studio 或簡單的文字編輯器開啟 RSPreviewPolicy.config,例如記事本。

  3. CodeGroup找出 RSPreviewPolicy.config 檔案中的專案。

  4. 為授與 FullTrust 許可權的 .NET Framework 數據提供者元件新增程式代碼群組。 您的程式代碼群組可能如下所示:

    <CodeGroup class="UnionCodeGroup"  
       version="1"  
       PermissionSetName="FullTrust"  
       Name="ThisDataProviderCodeGroup"  
       Description="Code group for the .NET data provider">  
          <IMembershipCondition class="UrlMembershipCondition"  
             version="1"  
             Url=  
    " C:\Program Files\Microsoft Visual Studio 9\Common7\IDE\PrivateAssemblies\DataProviderAssembly.dll"  
           />  
    </CodeGroup>  
    

URL 成員資格只是您可能為數據提供者選取的許多成員資格條件之一。

驗證報表設計師用戶端上的部署和註冊

您必須先關閉本機計算機上所有 Visual Studio 實例,才能確認部署。 在您結束所有目前的會話之後,您可以藉由在 Visual Studio 中建立新的報表專案,確認數據提供者是否已順利部署至報表設計師。 當您為報表建立新的數據集時,數據提供者應該包含在可用的數據源類型清單中。

平台考量

在 64 位 (x64) 平臺上,SQL Server Data Tools (SSDT) 以 32 位 WOW 模式執行。 當您在 x64 平臺上撰寫報表時,您需要在報表撰寫用戶端上安裝 32 位數據提供者,才能預覽報表。 如果您在相同的系統上發佈報表,則需要 x64 數據提供者,才能使用報表管理員檢視報表。

Itanium 型平台不支援 SQL Server Data Tools (SSDT)。

使用 Reporting Services 安裝的數據處理延伸模組必須針對每個平台進行原生編譯,並安裝在正確的位置。 如果您註冊自定義數據提供者或標準 .NET Framework 數據提供者,則必須針對適當的平臺原生編譯它,並安裝適當的位置。 如果您是在32位平臺上執行,那麼數據提供者必須針對32位平臺進行編譯。 如果您是在 64 位平臺上運行,則數據提供者必須為 64 位平臺編譯。 您無法在 64 位平臺上使用包裝 64 位介面的 32 位數據提供者。 請檢查您的第三方軟體,以取得數據提供者是否會在已安裝平臺上運作的資訊。 如需數據提供者和平臺支持的詳細資訊,請參閱 Reporting Services 支援的數據源(SSRS)。

另請參閱

設定與管理報表伺服器 (SSRS 原生模式)
實作數據處理延伸模組
Reporting Services 組態檔
Reporting Services 中的程式碼存取安全性