Udostępnij za pośrednictwem


OLE DB Provider szablonu architektury

Źródła danych i sesje

Architektura OLE DB provider zawiera obiekt źródła danych i jednej lub wielu sesjach.Obiekt źródła danych jest początkowy obiekt, który trzeba utworzyć wystąpienie każdego dostawcy.Gdy aplikacja konsumenta wymaga danych, współtworzy obiekt źródła danych, aby uruchomić dostawcy.Obiekt źródła danych tworzy obiekt session (za pomocą IDBCreateSession interface) za pośrednictwem którego konsument łączy obiektu źródła danych.Programistów ODBC można traktować obiekt źródła danych jako równoważne HENV i obiekt session, jako równoważne z HDBC.

Grafika przedstawiająca architekturę dostawcy

Wraz z plików źródłowych utworzonego przez kreatora dostawcy bazy danych OLE szablonów OLE DB wdrożenia obiektu źródła danych.Sesja jest obiekt, który odpowiada OLE DB TSession.

Obowiązkowe i opcjonalne interfejsy

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

Uwaga szablony dostawcy OLE DB nie należy implementować obiekty wiersza i składowania.

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

Składnik

Interfejs

Komentarz

Źródło danych (CDataSource)

[obowiązkowe] IDBCreateSession

[obowiązkowe] IDBInitialize

[obowiązkowe]IDBProperties

[obowiązkowe]IPersist

[Opcjonalna] IConnectionPointContainer

[Opcjonalna] IDBAsynchStatus

[Opcjonalna] IDBDataSourceAdmin

[Opcjonalna] Elementu IDBInfo

[Opcjonalna]IPersistFile

[Opcjonalna] ISupportErrorInfo

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

Sesja (CSession)

[obowiązkowe] IGetDataSource

[obowiązkowe]IOpenRowset

[obowiązkowe] ISessionProperties

[Opcjonalna] IAlterIndex

[Opcjonalna] IAlterTable

[Opcjonalna] IBindResource

[Opcjonalna] ICreateRow

[Opcjonalna] IDBCreateCommand

[Opcjonalna] IDBSchemaRowset

[Opcjonalna] IIndexDefinition

[Opcjonalna] ISupportErrorInfo

[Opcjonalna] ITableCreation

[Opcjonalna] ITableDefinition

[Opcjonalna] ITableDefinitionWithConstraints

[Opcjonalna] ITransaction

[Opcjonalna] ITransactionJoin

[Opcjonalna] ITransactonLocal

[Opcjonalna] ITransactionObject

Obiekt session reprezentuje pojedynczy konwersację między konsumentów i dostawcy.Przypomina nieco ODBC HSTMT w tym może istnieć wiele jednoczesnych sesji aktywnych.

Obiekt session jest podstawowym łącze do funkcji OLE DB.Aby uzyskać dostęp do polecenia, transakcji lub obiektu zestawu wierszy, przejdź za pośrednictwem obiektu sesji.

Zestaw wierszy (CRowset)

[obowiązkowe]IAccessor

[obowiązkowe]IColumnsInfo

[obowiązkowe] IConvertType

[obowiązkowe]IRowset

[obowiązkowe]IRowsetInfo

[Opcjonalna] IChapteredRowset

[Opcjonalna] IColumnsInfo2

[Opcjonalna] IColumnsRowset

[Opcjonalna] IConnectionPointContainer

[Opcjonalna] IDBAsynchStatus

[Opcjonalna] IGetRow

[Opcjonalna]IRowsetChange

[Opcjonalna] IRowsetChapterMember

[Opcjonalna] IRowsetCurrentIndex

[Opcjonalna] IRowsetFind

[Opcjonalna] IRowsetIdentity

[Opcjonalna] IRowsetIndex

[Opcjonalna]IRowsetLocate

[Opcjonalna] IRowsetRefresh

[Opcjonalna]IRowsetScroll

[Opcjonalna]IRowsetUpdate

[Opcjonalna] IRowsetView

[Opcjonalna] ISupportErrorInfo

[Opcjonalna] IRowsetBookmark

Obiekt zestawu wierszy reprezentuje dane ze źródła danych.Obiekt jest odpowiedzialny za wiązania danych i wszelkich operacji podstawowych (aktualizacja, pobieranie, przepływ i inne) w danych.Zawsze mieć obiektu zestawu wierszy i manipulować danymi.

Polecenie (CCommand)

[obowiązkowe]IAccessor

[obowiązkowe]IColumnsInfo

[obowiązkowe]ICommand

[obowiązkowe] ICommandProperties

[obowiązkowe]ICommandText

[obowiązkowe] IConvertType

[Opcjonalna] IColumnsRowset

[Opcjonalna] ICommandPersist

[Opcjonalna] ICommandPrepare

[Opcjonalna]ICommandWithParameters

[Opcjonalna] ISupportErrorInfo

[Opcjonalna] ICommandStream

Obiekt polecenia obsługuje operacje na danych, takie jak kwerendy.To może obsłużyć sparametryzowanej lub sparametryzowana instrukcji.

Obiekt polecenia jest również odpowiedzialny za obsługę powiązania dla parametrów i kolumn wyjściowych.Powiązanie jest strukturą, zawierający informacje o jak pobrać kolumnie zestawu wierszy.Zawiera on informacje, takie jak liczba porządkowa, typ danych, długość i stan.

Transakcja (opcjonalnie)

[obowiązkowe] IConnectionPointContainer

[obowiązkowe] ITransaction

[Opcjonalna] ISupportErrorInfo

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

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

Zobacz też

Informacje

OLE DB Interfaces

Koncepcje

OLE DB Provider szablony (C++)