Architektura szablonu dostawcy OLE DB

Źródła danych i sesji

Architektura OLE DB dostawca zawiera obiekt źródła danych i jedną lub wiele sesji.Obiekt źródła danych jest początkowy obiekt, który trzeba utworzyć wystąpienie każdego dostawcy.Gdy aplikacja konsument potrzebuje danych, wspólnie tworzy obiekt źródła danych, aby uruchomić dostawca.Obiekt źródła danych tworzy obiekt session (za pomocą IDBCreateSession interface) za pośrednictwem którego konsument łączy obiekt źródła danych.Obiekt źródła danych jako równoważne dla programistów ODBC można sobie wyobrazić HENV i obiektu session jako równoważne z HDBC.

Architektura dostawcy

Wraz z plików źródłowych, utworzony przez kreatora dostawcy bazy danych OLE szablonów OLE DB implementuje obiektu źródła danych.Sesja jest obiektem, który odpowiada OLE DB TSession.

Obowiązkowe i opcjonalne interfejsy

Szablony dostawca OLE DB daje paczkowanych implementacji dla wszystkich wymaganych interfejsów.Obowiązkowe i opcjonalne interfejsy są definiowane przez OLE DB dla kilku typów obiektów:

Należy zauważyć, że szablony dostawca OLE DB nie należy implementować, wiersz i przechowywania obiektów.

W poniższej tabeli przedstawiono obowiązkowe i opcjonalne interfejsy dla obiektów wymienionych powyżej, zgodnie z OLE DB 2.6 dokumentację zestawu SDK.

Składnik

Interfejs

Komentarz

Źródło danych (CDataSource)

[wymagane] IDBCreateSession

[wymagane] IDBInitialize

[wymagane]IDBProperties

[wymagane]IPersist

[opcjonalny] IConnectionPointContainer

[opcjonalny] IDBAsynchStatus

[opcjonalny] IDBDataSourceAdmin

[opcjonalny] Elementu IDBInfo

[opcjonalny]IPersistFile

[opcjonalny] ISupportErrorInfo

Połączenie od konsumenta do dostawcy.Obiekt jest używany do określania właściwości dla połączenia, takie jak nazwa użytkownika identyfikator, hasło i danych źródłowych.Obiekt można również administrować źródło danych (Tworzenie, aktualizowanie, usuwanie tabel i tak dalej).

Sesja (CSession)

[wymagane] IGetDataSource

[wymagane]IOpenRowset

[wymagane] ISessionProperties

[opcjonalny] IAlterIndex

[opcjonalny] IAlterTable

[opcjonalny] IBindResource

[opcjonalny] ICreateRow

[opcjonalny] IDBCreateCommand

[opcjonalny] IDBSchemaRowset

[opcjonalny] IIndexDefinition

[opcjonalny] ISupportErrorInfo

[opcjonalny] ITableCreation

[opcjonalny] ITableDefinition

[opcjonalny] ITableDefinitionWithConstraints

[opcjonalny] ITransaction

[opcjonalny] ITransactionJoin

[opcjonalny] ITransactonLocal

[opcjonalny] ITransactionObject

Obiekt session reprezentuje pojedynczy konwersację między konsumentem i dostawca.Jest nieco podobny do ODBC HSTMT w tym może istnieć wiele jednoczesnych sesji aktywnych.

Obiekt session jest podstawowym łącza, aby uzyskać do funkcji OLE DB.Aby uzyskać dostęp do polecenia, transakcji lub obiektu zestawu wierszy, można przejść przez obiekt session.

Zestaw wierszy (CRowset)

[wymagane]IAccessor

[wymagane]IColumnsInfo

[wymagane] IConvertType

[wymagane]IRowset

[wymagane]IRowsetInfo

[opcjonalny] IChapteredRowset

[opcjonalny] IColumnsInfo2

[opcjonalny] IColumnsRowset

[opcjonalny] IConnectionPointContainer

[opcjonalny] IDBAsynchStatus

[opcjonalny] IGetRow

[opcjonalny]IRowsetChange

[opcjonalny] IRowsetChapterMember

[opcjonalny] IRowsetCurrentIndex

[opcjonalny] IRowsetFind

[opcjonalny] IRowsetIdentity

[opcjonalny] IRowsetIndex

[opcjonalny]IRowsetLocate

[opcjonalny] IRowsetRefresh

[opcjonalny]IRowsetScroll

[opcjonalny]IRowsetUpdate

[opcjonalny] IRowsetView

[opcjonalny] ISupportErrorInfo

[opcjonalny] IRowsetBookmark

Obiekt zestaw wierszy reprezentuje dane ze źródła danych.Obiekt jest odpowiedzialny za powiązania danych i podstawowych operacji (aktualizacja, pobieranie, przepływu i inne) na dane.Użytkownik zawsze ma obiekt zestaw wierszy zawierają i manipulować danymi.

Polecenie (CCommand)

[wymagane]IAccessor

[wymagane]IColumnsInfo

[wymagane]ICommand

[wymagane] ICommandProperties

[wymagane]ICommandText

[wymagane] IConvertType

[opcjonalny] IColumnsRowset

[opcjonalny] ICommandPersist

[opcjonalny] ICommandPrepare

[opcjonalny]ICommandWithParameters

[opcjonalny] ISupportErrorInfo

[opcjonalny] ICommandStream

Obiekt polecenia obsługi operacji na danych, takich jak kwerendy.Może obsługiwać instrukcji sparametryzowanej lub bez parametrów.

Obiekt polecenia jest również odpowiedzialny za obsługę powiązania dla parametrów i kolumn wyjściowych.Powiązanie jest strukturą, która zawiera informacje o jak kolumna, zestaw wierszy, powinny być pobierane.Zawiera on informacje, takie jak liczba porządkowa, typ danych, długość i stan.

Transakcja (opcjonalnie)

[wymagane] IConnectionPointContainer

[wymagane] ITransaction

[opcjonalny] ISupportErrorInfo

Obiekt transakcji definiuje niepodzielny jednostki pracy w źródle danych i określa, jak te jednostki pracy są powiązane ze sobą.Ten obiekt nie jest obsługiwana bezpośrednio przez Szablony dostawca OLE DB (to znaczy utworzyć swój własny obiekt).

Aby uzyskać więcej informacji, zobacz następujące tematy:

Zobacz też

Informacje

OLE DB Interfaces

Koncepcje

Szablony dostawców OLE DB (C++)