Freigeben über


OLE DB-Consumervorlagen (C++)

Die OLE DB-Consumervorlagen unterstützen die Spezifikation der OLE DB Version 2.6. (Die OLE DB Consumer Templates werden mit OLE DB 2.6 getestet, unterstützen jedoch nicht jede Schnittstelle in der Spezifikation.) Die Consumervorlagen minimieren die Menge des Codes, den Sie schreiben müssen, um einen OLE DB-Consumer zu implementieren. Die Vorlagen bieten Folgendes:

  • Einfacher Zugriff auf OLE DB-Features und einfache Integration mit ATL und MFC.

  • Ein einfaches Bindungsmodell für Datenbankparameter und Spalten.

  • Systemeigene C/C++-Datentypen für die OLE DB-Programmierung.

Sie sollten mit C++-Vorlagen, COM und den OLE DB-Schnittstellen vertraut sein, um OLE DB-Vorlagen verwenden zu können. Wenn Sie mit OLE DB nicht vertraut sind, lesen Sie Microsoft OLE DB-Treiber für SQL Server.

Die OLE DB-Vorlagen unterstützen eher das vorhandene OLE DB-Objektmodell als das Hinzufügen eines neuen Objektmodells. Die Klassen der obersten Ebene in den OLE DB-Consumervorlagen gleichen den in der der OLE DB-Spezifikation definierten Komponenten. Das Design der OLE DB-Consumervorlagen umfasst erweiterte Features, z. B. mehrere Accessoren für ein Rowset. Durch die Verwendung von Vorlagen und der mehrfachen Vererbung ergibt sich eine kleine und flexible Bibliothek.

Zugriff auf Daten durch OLE DB-Consumer

Consumer verwenden verschiedene Arten von Objekten, die in den folgenden Themen beschrieben werden:

Bevor der Consumer aktiv wird, wählen Sie zunächst einen OLE DB-Anbieter aus, der für den Datenbanktyp geeignet ist, auf den Sie zugreifen müssen (z. B. SQL, Oracle, ODBC und MSDS). Zu diesem Zweck verwenden Sie in der Regel einen Enumerator (siehe CEnumerator wie unter Datenquellen und Sitzungenangegeben).

Das Datenquellenobjekt bietet die zum Herstellen der Verbindung mit der ausgewählten Datenquelle erforderlichen Verbindungsinformationen. Das Datenquellenobjekt enthält auch Authentifizierungsinformationen (z. B. Anmeldenamen und Kennwörter), über die Benutzer die Berechtigung zum Zugriff auf die Datenquelle erhalten. Das Datenquellenobjekt stellt eine Verbindung mit der Datenbank her und erstellt dann mindestens ein Sitzungsobjekt. Jede Sitzungsobjekt verwaltet seine eigenen Interaktionen mit der Datenbank (d h. Abfragen und Abrufen von Daten) und führt diese Transaktionen unabhängig von anderen vorhandenen Sitzungen durch.

Die Sitzung erstellt die Rowset- und Befehlsobjekte. Das Befehlsobjekt ermöglicht Benutzern die Interaktion mit der Datenbank, z. B. über SQL-Befehle. Das Rowsetobjekt besteht aus einem Satz von Daten, über den Sie navigieren können. Zudem können Sie darin Zeilen aktualisieren, löschen und einfügen.

Ein OLE DB-Consumer bindet Spalten in den Datenbanktabellen an die lokalen Variablen. Zu diesem Zweck verwendet er einen Accessor, der eine Übersicht darüber enthält, wie Daten im Consumer gespeichert werden. Die Übersicht besteht aus einem Satz von Bindungen zwischen Tabellenspalten und lokalen Puffern (Variablen) in der Consumeranwendung.

Ein wichtiges Konzept bei der Arbeit mit Consumern ist, dass Sie in einem Consumer zwei Klassen deklarieren: Befehlsklasse (oder Tabellenklasse) und Benutzerdatensatzklasse. Der Zugriff auf das Rowset erfolgt über die Befehlsklasse (oder Tabellenklasse), die sowohl von einer Accessor- als auch von einer Rowsetklasse erbt. Die Benutzerdatensatzklasse enthält die zuvor beschriebene Bindungsübersicht für das Rowset.

Weitere Informationen finden Sie in den folgenden Themen:

Siehe auch

OLE DB-Programmierung
Datenzugriff
OLE DB SDK-Dokumentation
Microsoft OLE DB-Treiber für SQL Server