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.
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 |
---|---|---|
[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). |
|
[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. |
|
[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. |
|
[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: