Architektura šablon zprostředkovatele OLE DB
Zdroje dat a relace
Architektura zprostředkovatele OLE DB zahrnuje objekt zdroje dat a jednu nebo více relací. Objekt zdroje dat je počátečním objektem, který musí vytvořit instance každého zprostředkovatele. Když aplikace příjemce potřebuje data, společně vytvoří objekt zdroje dat pro spuštění zprostředkovatele. Objekt zdroje dat vytvoří objekt relace (pomocí IDBCreateSession
rozhraní), pomocí kterého se příjemce připojí k objektu zdroje dat. Programátoři ODBC si mohou objekt zdroje dat představit jako ekvivalent objektu HENV
relace a objekt relace jako ekvivalentní objektu HDBC
.
Společně se zdrojovými soubory vytvořenými průvodcem zprostředkovatele OLE DB implementují šablony OLE DB objekt zdroje dat. Relace je objekt, který odpovídá OLE DB TSession
.
Povinná a volitelná rozhraní
Šablony zprostředkovatele OLE DB poskytují předem zabalené implementace pro všechna požadovaná rozhraní. Povinná a volitelná rozhraní jsou definována službou OLE DB pro několik typů objektů:
Šablony zprostředkovatele OLE DB neimplementují objekty řádků a úložiště.
Následující tabulka uvádí povinná a volitelná rozhraní pro objekty uvedené výše podle dokumentace k sadě OLE DB 2.6 SDK.
Komponenta | Rozhraní | Komentář |
---|---|---|
Zdroj dat (CDataSource) | [povinné] IDBCreateSession [povinné] IDBInitialize [povinné] IDBProperties [povinné] IPersist [volitelné] IConnectionPointContainer [volitelné] IDBAsynchStatus [volitelné] IDBDataSourceAdmin [volitelné] IDBInfo [volitelné] IPersistFile [volitelné] ISupportErrorInfo |
Připojení od příjemce k poskytovateli. Objekt slouží k určení vlastností připojení, jako je ID uživatele, heslo a název zdroje dat. Objekt lze použít také ke správě zdroje dat (vytvoření, aktualizace, odstranění, tabulky atd.). |
Relace (CSession) | [povinné] IGetDataSource [povinné] IOpenRowset [povinné] ISessionProperties [volitelné] IAlterIndex [volitelné] IAlterTable [volitelné] IBindResource [volitelné] ICreateRow [volitelné] IDBCreateCommand [volitelné] IDBSchemaRowset [volitelné] IIndexDefinition [volitelné] ISupportErrorInfo [volitelné] ITableCreation [volitelné] ITableDefinition [volitelné] ITableDefinitionWithConstraints [volitelné] ITransaction [volitelné] ITransactionJoin [volitelné] ITransactionLocal [volitelné] ITransactionObject |
Objekt relace je jedna konverzace mezi příjemcem a poskytovatelem. Je to podobné rozhraní ODBC HSTMT v tom, že může být aktivní mnoho souběžných relací.Objekt relace je primární odkaz pro získání funkce OLE DB. Pokud se chcete dostat k objektu příkazového řádku, transakce nebo sady řádků, projdete objekt relace. |
Sada řádků (CRowset) | [povinné] IAccessor [povinné] IColumnsInfo [povinné] IConvertType [povinné] IRowset [povinné] IRowsetInfo [volitelné] IChapteredRowset [volitelné] IColumnsInfo2 [volitelné] IColumnsRowset [volitelné] IConnectionPointContainer [volitelné] IDBAsynchStatus [volitelné] IGetRow [volitelné] IRowsetChange [volitelné] IRowsetChapterMember [volitelné] IRowsetCurrentIndex [volitelné] IRowsetFind [volitelné] IRowsetIdentity [volitelné] IRowsetIndex [volitelné] IRowsetLocate [volitelné] IRowsetRefresh [volitelné] IRowsetScroll [volitelné] IRowsetUpdate [volitelné] IRowsetView [volitelné] ISupportErrorInfo [volitelné] IRowsetBookmark |
Objekt sady řádků je data ze zdroje dat. Objekt se používá pro vazby těchto dat a všechny základní operace (aktualizace, načítání, přesun a další) dat. Vždy máte objekt sady řádků, který uchovává data a manipuluje s nimi. |
Příkaz (CCommand) | [povinné] IAccessor [povinné] IColumnsInfo [povinné] ICommand [povinné] ICommandProperties [povinné] ICommandText [povinné] IConvertType [volitelné] IColumnsRowset [volitelné] ICommandPersist [volitelné] ICommandPrepare [volitelné] ICommandWithParameters [volitelné] ISupportErrorInfo [volitelné] ICommandStream |
Objekt příkazu zpracovává operace s daty, jako jsou dotazy. Může zpracovávat parametrizované nebo neparametrizované příkazy. Objekt příkazu také zodpovídá za zpracování vazeb pro parametry a výstupní sloupce. Vazba je struktura, která obsahuje informace o tom, jak se má načíst sloupec v sadě řádků. Obsahuje informace, jako jsou pořadové číslo, datový typ, délka a stav. |
Transakce (volitelné) | [povinné] IConnectionPointContainer [povinné] ITransaction [volitelné] ISupportErrorInfo |
Objekt transakce definuje atomickou jednotku práce na zdroji dat a určuje, jak tyto jednotky práce vzájemně souvisejí. Tento objekt nejsou přímo podporovány šablonami zprostředkovatele OLE DB (to znamená, že vytváříte vlastní objekt). |
Další informace naleznete v následujících tématech: