在實作 SQL Server Reporting Services 數據處理延伸模組之前,您應該定義要實作的介面。 您可能想要提供整個介面集的延伸模組特定實作,或者您可能只想將實作焦點放在子集上,例如IDataReaderIDbCommand,用戶端將主要與結果集互動做為DataReader物件,並使用SSRS資料處理延伸模組作為結果集與數據源之間的橋樑。
您可以使用下列兩種方式之一來實作數據處理延伸模組:
數據處理延伸模組類別可以實作 Microsoft .NET Framework 數據提供者介面,以及 Reporting Services 所提供的擴充數據處理延伸模組介面。
數據處理延伸模組類別可以實作 Reporting Services 所提供的數據處理延伸模組介面,以及選擇性地實作擴充數據處理延伸模組介面。
如果您的 Reporting Services 數據處理延伸模組不支援特定的屬性或方法,請實作 屬性或方法做為無作業。 如果用戶端需要特定行為,請擲回 NotSupportedException 例外狀況 。
備註
屬性或方法的無作業實作僅適用於您選擇要實作之介面的屬性和方法。 您選擇不實作的選擇性介面應該排除在數據處理延伸模組元件外。 如需介面是必要還是選擇性的詳細資訊,請參閱本節稍後的表格。
必要的擴充功能
每個 Reporting Services 數據處理延伸模組都必須提供下列功能:
開啟數據源的連線。
分析查詢,並傳回結果集的域名清單。
針對數據源執行查詢,並傳回數據列集。
將單一值參數傳遞至查詢。
逐一查看數據列集中的數據列並擷取數據。
您可以擴充每個資料處理延伸模組,以包含下列功能:
分析查詢,並傳回查詢中使用的參數名稱清單。
分析查詢,並傳回群組查詢的欄位清單。
分析查詢,並傳回查詢排序依據的欄位清單。
提供使用者名稱和密碼,以連線到與連接字串無關的數據源。
逐一查看數據列集中的數據列,並擷取有關數據值的輔助元數據。
匯總伺服器上的數據。
可用的擴充功能介面
下表描述可用的介面,以及是否需要實作或選擇性。
| 介面 | 說明 | 實施 |
|---|---|---|
| IDbConnection | 表示與數據源的唯一會話。 在用戶端/伺服器資料庫系統的情況下,會話可能相當於伺服器的網路連線。 | 為必填項目 |
| IDbConnectionExtension | 代表可透過 SSRS 資料處理延伸模組實作的其他連接屬性,以取得安全性和驗證。 | 可選 |
| IDbTransaction | 表示本機交易。 | 為必填項目 |
| IDbTransactionExtension | 表示 SSRS 數據處理延伸模組可以實作的其他交易屬性。 | 可選 |
| IDbCommand | 表示連接到數據源時所使用的查詢或命令。 | 為必填項目 |
| IDbCommandAnalysis | 表示用於分析查詢並傳回查詢中使用的參數名稱清單的其他命令資訊。 | 可選 |
| IDataParameter | 表示傳遞至命令或查詢的參數或名稱/值組。 | 為必填項目 |
| IDataParameterCollection | 表示與命令或查詢相關的所有參數集合。 | 為必填項目 |
| IDataReader | 提供從數據源讀取正向唯讀唯讀數據流的方法。 | 為必填項目 |
| IDataReaderExtension | 提供讀取一或多個結果集正向數據流的方法,這個數據流是藉由在數據源上執行命令所取得。 此介面提供欄位匯總的其他支援。 | 可選 |
| IExtension | 提供 Reporting Services 數據處理延伸模組的基類。 也可讓實作者包含延伸模組的當地語系化名稱,以及將組態檔中的組態設定傳遞至延伸模組。 | 為必填項目 |
數據處理延伸模組介面與 .NET Framework 數據提供者介面、方法和屬性的子集相同。 如需實作完整 .NET Framework 數據提供者的詳細資訊,請參閱 .NET Framework 軟體開發工具包 (SDK) 檔中的<實作 .NET Framework 數據提供者>。
另請參閱
Reporting Services 延伸模組
實作數據處理延伸模組
Reporting Services 擴充功能連結庫