共用方式為


OLE DB 提供者樣板架構

資料來源和工作階段

OLE DB 提供者架構包含數據源物件和一或多個會話。 數據源物件是每個提供者必須具現化的初始物件。 當取用者應用程式需要數據時,它會共同建立數據源對象來啟動提供者。 數據源物件會建立會話物件(使用 IDBCreateSession 介面),取用者會透過該物件連接到數據源物件。 ODBC 程式設計人員可以將資料來源物件視為相當於 HENV ,而工作階段物件相當於 HDBC

提供者架構圖表。

與 OLE DB 提供者精靈建立的來源檔案一起,OLE DB 範本會實作數據源物件。 會話是對應至 OLE DB TSession的物件。

強制和選擇性介面

OLE DB 提供者範本提供所有必要介面的預先封裝實作。 強制與選擇性介面是由 OLE DB 針對數種類型的物件所定義:

OLE DB 提供者範本不會實作數據列和儲存物件。

下表根據 OLE DB 2.6 SDK 檔,列出上述對象的強制和選擇性介面。

元件 介面 註解
資料來源CDataSource [強制] IDBCreateSession

[強制] IDBInitialize

[強制] IDBProperties

[強制] IPersist

[選擇性] IConnectionPointContainer

[選擇性] IDBAsynchStatus

[選擇性] IDBDataSourceAdmin

[選擇性] IDBInfo

[選擇性] IPersistFile

[選擇性] ISupportErrorInfo
從取用者連線到提供者。 物件可用來指定連接的屬性,例如使用者標識碼、密碼和數據源名稱。 物件也可以用來管理數據源(建立、更新、刪除、數據表等等)。
工作階段CSession [強制] IGetDataSource

[強制] IOpenRowset

[強制] ISessionProperties

[選擇性] IAlterIndex

[選擇性] IAlterTable

[選擇性] IBindResource

[選擇性] ICreateRow

[選擇性] IDBCreateCommand

[選擇性] IDBSchemaRowset

[選擇性] IIndexDefinition

[選擇性] ISupportErrorInfo

[選擇性] ITableCreation

[選擇性] ITableDefinition

[選擇性] ITableDefinitionWithConstraints

[選擇性] ITransaction

[選擇性] ITransactionJoin

[選擇性] ITransactionLocal

[選擇性] ITransactionObject
會話對像是取用者和提供者之間的單一交談。 與 ODBC HSTMT 類似,其中有許多同時作用中的會話。

會話物件是取得 OLE DB 功能的主要連結。 若要取得命令、交易或數據列集物件,您可以瀏覽會話物件。
資料列集CRowset [強制] IAccessor

[強制] IColumnsInfo

[強制] IConvertType

[強制] IRowset

[強制] IRowsetInfo

[選擇性] IChapteredRowset

[選擇性] IColumnsInfo2

[選擇性] IColumnsRowset

[選擇性] IConnectionPointContainer

[選擇性] IDBAsynchStatus

[選擇性] IGetRow

[選擇性] IRowsetChange

[選擇性] IRowsetChapterMember

[選擇性] IRowsetCurrentIndex

[選擇性] IRowsetFind

[選擇性] IRowsetIdentity

[選擇性] IRowsetIndex

[選擇性] IRowsetLocate

[選擇性] IRowsetRefresh

[選擇性] IRowsetScroll

[選擇性] IRowsetUpdate

[選擇性] IRowsetView

[選擇性] ISupportErrorInfo

[選擇性] IRowsetBookmark
數據列集對象是數據源中的數據。 對象用於該數據的系結,以及數據上的任何基本作業(更新、擷取、移動和其他作業)。 您一律有數據列集物件來保留及操作數據。
命令CCommand [強制] IAccessor

[強制] IColumnsInfo

[強制] ICommand

[強制] ICommandProperties

[強制] ICommandText

[強制] IConvertType

[選擇性] IColumnsRowset

[選擇性] ICommandPersist

[選擇性] ICommandPrepare

[選擇性] ICommandWithParameters

[選擇性] ISupportErrorInfo

[選擇性] ICommandStream
命令對象會處理查詢等數據的作業。 它可以處理參數化或非參數化語句。

命令物件也負責處理參數和輸出數據行的系結。 系結是一種結構,其中包含應該如何擷取數據列集中數據行的相關信息。 其中包含序數、數據類型、長度和狀態等資訊。
交易 (選擇性) [強制] IConnectionPointContainer

[強制] ITransaction

[選擇性] ISupportErrorInfo
交易物件會定義數據源上不可部分完成的工作單位,並決定這些工作單位彼此的關聯性。 OLE DB 提供者範本不會直接支援此物件(也就是您建立自己的物件)。

如需詳細資訊,請參閱下列主題:

另請參閱

OLE DB 提供者範本
OLE DB 介面