OLE DB Sağlayıcı Şablonu Mimarisi
Veri Kaynakları ve Oturumlar
OLE DB sağlayıcı mimarisi, veri kaynağı nesnesini ve bir ya da daha fazla oturumu içerir. Veri kaynağı nesnesi, her sağlayıcının örneğini oluşturması gereken ilk nesnesidir. Bir tüketici uygulamanın veriye ihtiyacı olduğunda, sağlayıcıyı başlatmak için veri kaynağı nesnesini birlikte oluşturur. Veri kaynağı nesnesi tüketicinin ( IDBCreateSession arabirimini kullanarak) veri kaynağı nesnesine bağlandığı bir oturum nesnesi oluşturur. ODBC programlayıcıları veri kaynağı nesnesini HENV öğesine, oturum nesnesini ise HDBC öğesine eşdeğermiş gibi düşünebilir.
OLE DB şablonları, OLE DB Sağlayıcı Sihirbazı ile oluşturulmuş kaynak dosyalarıyla birlikte bir veri kaynağı nesnesi uygular. Oturum, OLE DB TSession'a karşılık gelen bir nesnedir.
Zorunlu ve İsteğe Bağlı Arabirimler
OLE DB sağlayıcı şablonları, gerekli tüm arabirimler için size önceden paketlenmiş uygulamalar verir. Birçok nesne türünde zorunlu ve isteğe bağlı arabirimler OLE DB ile tanımlanır:
OLE DB sağlayıcı şablonlarının satır ve depolama nesnelerini uygulamadığını unutmayın.
Aşağıdaki tablo yukarıda listelenen nesneler için OLE DB 2.6 SDK Belgeleri'ne göre zorunlu ve isteğe bağlı arabirimleri listeler.
Bileşen |
Arabirim |
Açıklama |
---|---|---|
[zorunlu] IDBCreateSession [zorunlu] IDBInitialize [zorunlu] IDBProperties [zorunlu] IPersist [isteğe bağlı] IConnectionPointContainer [isteğe bağlı] IDBAsynchStatus [isteğe bağlı] IDBDataSourceAdmin [isteğe bağlı] IDBInfo [isteğe bağlı]IPersistFile [isteğe bağlı] ISupportErrorInfo |
Tüketiciden sağlayıcıya bağlanın. Nesne, bağlantıda kullanıcı kimliği, parola ve veri kaynağı adı gibi özellikleri belirtmek için kullanılır. Nesne bir veri kaynağını yönetmek için de kullanılabilir (oluşturmak, güncelleştirmek, silmek, tablolar vb.). |
|
[zorunlu] IGetDataSource [zorunlu] IOpenRowset [zorunlu] ISessionProperties [isteğe bağlı] IAlterIndex [isteğe bağlı] IAlterTable [isteğe bağlı] IBindResource [isteğe bağlı] ICreateRow [isteğe bağlı] IDBCreateCommand [isteğe bağlı] IDBSchemaRowset [isteğe bağlı] IIndexDefinition [isteğe bağlı] ISupportErrorInfo [isteğe bağlı] ITableCreation [isteğe bağlı] ITableDefinition [isteğe bağlı] ITableDefinitionWithConstraints [isteğe bağlı] ITransaction [isteğe bağlı] ITransactionJoin [isteğe bağlı] ITransactionLocal [isteğe bağlı] ITransactionObject |
Oturum nesnesi, tüketici ile sağlayıcı arasında tek bir görüşmeyi temsil eder. Bir çok eş zamanlı olarak etkin olan oturum olabileceğinden, ODBC HSTMT öğesine benzer. Oturum nesnesi, OLE DB işlevselliğine erişmek için birincil bağlantıdır. Bir komut, işlem veya satır kümesi nesnesi almak için oturum nesnesini gözden geçirin. |
|
[zorunlu] IAccessor [zorunlu] IColumnsInfo [zorunlu] IConvertType [zorunlu] IRowset [zorunlu] IRowsetInfo [isteğe bağlı] IChapteredRowset [isteğe bağlı] IColumnsInfo2 [isteğe bağlı] IColumnsRowset [isteğe bağlı] IConnectionPointContainer [isteğe bağlı] IDBAsynchStatus [isteğe bağlı] IGetRow [isteğe bağlı]IRowsetChange [isteğe bağlı] IRowsetChapterMember [isteğe bağlı] IRowsetCurrentIndex [isteğe bağlı] IRowsetFind [isteğe bağlı] IRowsetIdentity [isteğe bağlı] IRowsetIndex [isteğe bağlı]IRowsetLocate [isteğe bağlı] IRowsetRefresh [isteğe bağlı]IRowsetScroll [isteğe bağlı]IRowsetUpdate [isteğe bağlı] IRowsetView [isteğe bağlı] ISupportErrorInfo [isteğe bağlı] IRowsetBookmark |
Satır kümesi nesnesi, veri kaynağı tarafında gönderilen verileri temsil eder. Nesne, bu verinin bağlamalarından ve verideki tüm temel işlemlerden (güncelleştirme, getirme, hareket ve diğerleri) sorumludur. Veri bulundurmak ve verileri işlemek için her zaman bir satır kümesine sahip olursunuz. |
|
[zorunlu] IAccessor [zorunlu] IColumnsInfo [zorunlu] ICommand [zorunlu] ICommandProperties [zorunlu] ICommandText [zorunlu] IConvertType [isteğe bağlı] IColumnsRowset [isteğe bağlı] ICommandPersist [isteğe bağlı] ICommandPrepare [isteğe bağlı]ICommandWithParameters [isteğe bağlı] ISupportErrorInfo [isteğe bağlı] ICommandStream |
Komut nesnesi veriler üzerinde sorgular gibi işlemleri gerçekleştirir. Parametreleştirilmiş ve parametreleştirilmemiş deyimleri işleyebilir. Komut nesnesi ayrıca parametreler ve çıktı sütunları için bağları işlemekten sorumludur. Bağlama, bir satır kümesindeki bir sütunun nasıl alınacağı konusunda bilgiler içeren bir yapıdır. Sıra, veri türü, uzunluk ve durum gibi bilgileri barındırır. |
|
İşlem (isteğe bağlı) |
[zorunlu] IConnectionPointContainer [zorunlu] ITransaction [isteğe bağlı] ISupportErrorInfo |
İşlem nesnesi bir veri kaynağı üzerinde bölünmez iş birimi tanımlar ve bu iş birimlerinin birbirleriyle ilişkilerini belirler. Bu nesne OLE DB sağlayıcı şablonları tarafından doğrudan desteklenmez (bu nedenle, kendi nesnenizi oluşturursunuz). |
Daha ayrıntılı bilgi için aşağıdaki konulara bakın: