註冊標準的 .NET Framework Data Provider (SSRS)
若要使用協力廠商 .NET Framework 資料提供者來擷取 Reporting Services 報表資料集的資料,您需要在兩個位置部署和註冊 .NET Framework 資料提供者組件:報表撰寫用戶端和報表伺服器。 在報表撰寫用戶端上,您必須註冊資料提供者做為資料來源類型,並將其與查詢設計工具產生關聯。 然後您可以在建立報表資料集時,選取此資料提供者做為資料來源的類型。 相關聯的查詢設計工具便會開啟,協助您建立此資料來源類型的查詢。 在報表伺服器上,您必須註冊資料提供者,做為資料來源類型。 然後您可以處理使用此資料提供者,從資料來源擷取資料的已發行報表。
協力廠商資料提供者不一定會提供適用於 Reporting Services 資料處理延伸模組的所有功能。 如需詳細資訊,請參閱 Reporting Services (SSRS) 支援的資料來源。 若要了解有關擴充 . .NET Framework 資料提供者,請參閱實作資料處理延伸模組。
您需要管理員認證才能安裝與註冊資料提供者。
在報表伺服器上註冊 .NET Framework Data Provider
若要在報表伺服器上處理使用此 .NET Framework 資料提供者的已發佈報表,您需要在報表伺服器上安裝組件。 您必須修改兩個組態檔。 修改 rsreportserver.config 以註冊資料提供者。 修改 rssrvpolicy.config 以授與組件的程式碼存取安全性權限。
在報表伺服器上安裝資料提供者組件
在您要使用 .NET Framework 資料提供者的報表伺服器上,導覽至 bin 目錄的預設位置。 報表伺服器 bin 目錄的預設位置是 <磁碟機>:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin。
將組件從您的臨時位置複製到報表伺服器的 bin 目錄。 或者,您可以將組件載入至全域組件快取 (GAC)。 如需詳細資訊,請參閱 MSDN .NET Framework SDK 文件中的使用組件和全域組件快取。
在報表伺服器上註冊 .NET 資料提供者
在 bin 的 ReportServer 上層目錄中,製作 RSReportServer.config 檔的備份。
開啟 RSReportServer.config。您可以使用 Visual Studio 或簡單文字編輯器 (如 [記事本]) 來開啟設定檔。
在 RSReportServer.config 檔中,找出 Data 元素。 應該會在下列位置建立 .NET Framework 資料提供者的項目:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
新增 .NET Framework 資料提供者的項目。
屬性 描述 名稱 為資料提供者提供唯一的名稱,例如, MyNETDataProvider。 Name 屬性的最大長度為 255 個字元。 該名稱在組態檔之 Extension 元素的所有元素中,必須是唯一的。 當您建立新的資料來源時,您在此處包含的值會出現在資料來源類型的下拉式清單中。 型別 輸入逗號分隔清單,其中包括可實作 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 資料提供者設定程式碼群組原則
在 bin 的 ReportServer 上層目錄中,製作 rssrvpolicy.config 檔的備份副本。
開啟 rssrvpolicy.config。您可以使用 Visual Studio 或簡單文字編輯器 (如 [記事本]) 來開啟設定檔。
在 rssrvpolicy.config 檔中,找出 CodeGroup 元素。
針對授與 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 成員資格僅是您可以針對資料提供者選取的多個成員資格條件的其中一個。
確認部署與註冊
您可以確認是否將資料提供者成功部署至報表伺服器,方法是開啟 Web 入口網站,然後確認該資料提供者包含在可用資料來源的清單中。 如需 Web 入口網站和資料來源的詳細資訊,請參閱建立、修改和刪除共用資料來源 (SSRS)。
在報表設計師用戶端上註冊 .NET Framework Data Provider
若要針對資料來源撰寫使用此 .NET Framework 資料提供者的報表,您必須在執行報表設計師的用戶端電腦上安裝該組件。 您必須修改兩個組態檔。 修改 RSReportDesigner.config 以註冊資料提供者做為資料來源,以及使用一般查詢設計工具。 修改 RSPreviewPolicy.config 以授與資料提供者組件的程式碼存取安全性權限。
在報表設計師用戶端上安裝資料提供者組件
在您要使用 .NET Framework 資料提供者的報表設計師用戶端上,導覽至 PrivateAssemblies 目錄的預設位置。 PrivateAssemblies 目錄的預設位置為 <磁碟機>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies。
將組件從您的臨時位置複製到報表設計師用戶端的 PrivateAssemblies 目錄。 或者,您可以將組件載入至全域組件快取 (GAC)。 如需詳細資訊,請參閱 MSDN .NET Framework SDK 文件中的使用組件和全域組件快取。
在報表設計師用戶端上註冊 .NET 資料提供者
在 PrivateAssemblies 目錄中,製作 RSReportDesigner.config 檔的備份副本。
使用 Visual Studio 或簡單文字編輯器 (如 [記事本]) 來開啟 RSReportDesigner.config。
在 RSReportDesigner.config 檔中,找出 Data 元素。 在下列位置應該就會建立一個資料提供者的項目:
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
加入資料提供者的項目。
屬性 描述 名稱 為資料提供者提供唯一的名稱,例如, MyNETDataProvider。 Name 屬性的最大長度為 255 個字元。 該名稱在組態檔之 Extension 元素的所有元素中,必須是唯一的。 當您建立新的資料來源時,您在此處包含的值會出現在資料來源類型的下拉式清單中。 型別 輸入逗號分隔清單,其中包括可實作 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"/>
在 RSReportDesigner.config 檔中,找出 Designer 元素。 應該會在下列位置建立 .NET Framework 資料提供者的項目:
<Extensions> <Designer> <Your data provider configuration information goes here> </Designer> </Extensions>
將下列項目加入至 RSReportDesigner.config 檔的 Designer 元素下。 您僅需要以您在之前項目中提供的名稱,取代 Name 屬性。
<Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
在報表設計師用戶端上設定 .NET 資料提供者的程式碼群組原則
在 PrivateAssemblies 目錄中,製作 RSPreviewPolicy.config 檔的備份副本。
使用 Visual Studio 或簡單文字編輯器 (如「記事本」) 來開啟 RSPreviewPolicy.config。
在 RSPreviewPolicy.config 檔中,找出 CodeGroup 元素。
針對可授與 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 資料提供者,才能在 Web 入口網站中檢視報表。
Itanium 型平台不支援 SQL Server Data Tools (SSDT)。
與 Reporting Services 一起安裝的資料處理延伸模組原始就必須針對每個平台進行編譯,而且必須安裝在正確的位置。 如果您要註冊自訂資料提供者或標準 .NET Framework 資料提供者,則原始就需要針對適當的平台編譯,而且需要安裝在適當的位置。 如果您是在 32 位元平台上執行,資料提供者必須針對 32 位元平台編譯。 如果您是在 64 位元平台上執行,資料提供者則必須針對 64 位元平台編譯。 您無法在 64 位元平台上,使用以 64 位元介面包裝的 32 位元資料提供者。 如需有關資料提供者是否可以在已安裝的平台上運作的詳細資訊,請查閱您的協力廠商軟體。 如需資料提供者和平台支援的詳細資訊,請參閱 Reporting Services (SSRS) 支援的資料來源。