為數據處理延伸模組實作 連線 類別
Connection 物件代表資料庫連線或是類似的資源,而且是 SQL Server Reporting Services 資料處理延伸模組之使用者的起點。 它代表資料庫伺服器的連接,不過任何具有類似行為的實體都可以公開成 Connection。
若要實作 Connection 物件,請建立實作 IDbConnection 的類別,並選擇性地實作 IDbConnectionExtension。
在您的實作中,您必須確保在執行命令之前先建立和開啟連接。 請確保實作要求用戶端明確地開啟和關閉連接,而不是讓您的實作隱含地為用戶端開啟和關閉連接。 在取得連接時執行您的安全性檢查。 需要 SSRS 資料處理延伸模組中其他類別的現有連線,可確保使用數據源時一律執行安全性檢查。
所需連接的屬性是以連接字串來表示。 SSRS 數據處理延伸模組應該使用 OLE DB 所定義的熟悉名稱/值組系統來支援 ConnectionString 屬性。
注意
Connection 物件通常需要大量資源才能取得,因此您可能會想要考慮共用連線或是其他技術來減輕這個問題。
IDbConnection 繼承自 IExtension。 您必須將 IExtension 介面實作為連接類別實作的一部分。 IExtension 介面允許類別實作當地語系化的延伸模組名稱,並處理在 Reporting Services 組態檔中儲存的延伸模組特定組態資訊。
您的 Connection 物件透過其 IExtension 的實作,包含 LocalizedName 屬性。 Reporting Services 數據處理延伸模組應該支持 LocalizedName 屬性。 支援可讓使用者在使用者介面中遇到熟悉且本地化的延伸模組名稱,例如報表管理員。
IExtension 也允許您的 Connection 物件擷取和處理儲存在 RSReportServer.config 檔案中的自訂設定資料。 如需有關處理自訂組態資料的詳細資訊,請參閱<SetConfiguration>方法。
IExtension當您的其餘數據處理延伸模塊類別卸除時,不會從記憶體卸除實作的類別。 由於這個事實,您可以使用擴充功能類別來儲存跨連線狀態資訊,或儲存可在記憶體中快取的數據。 只要報表伺服器正在執行,您的 Extension 類別仍然會在記憶體中。
您可以透過實作 IDbConnectionExtension 來擴充 Connection 類別,以包含對 Reporting Services 中認證的支援。 當您實作 IDbConnectionExtension 介面的 IntegratedSecurity、UserName 和 Password 屬性時,可以啟用 [整合式安全性] 核取方塊,以及在報表設計師 [資料來源] 對話方塊的 [使用者名稱] 與 [密碼] 文字方塊。 這允許報表設計師儲存和擷取支援驗證的資料來源之認證。 會將認證安全地儲存並在預覽模式中轉譯報表時使用。
注意
若要隱含實作 IDbConnectionExtension,您必須實作 IDbConnection 與 IExtension 介面的成員。
如需範例 連線 類別實作,請參閱 CodePlex 上的 Reporting Services 範例(SQL Server Reporting Services SSRS)。