OLE DB-Consumervorlagen (C++)

Die OLE DB-Consumervorlagen unterstützen die OLE DB Version 2.6-Spezifikation. (Die OLE DB-Consumervorlagen wurden anhand von OLE DB 2.6 getestet, sie unterstützen jedoch nicht jede Schnittstelle in der Spezifikation.) Durch die Consumervorlagen muss zum Implementieren eines OLE DB-Consumers weniger Code geschrieben werden. Die Vorlagen bieten:

  • Einfachen 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.

Um die OLE DB-Vorlagen zu verwenden, sollten Sie Erfahrungen im Umgang mit C++-Vorlagen, COM und den OLE DB-Schnittstellen besitzen. Wenn Sie noch keine Erfahrungen im Umgang mit OLE DB haben, informieren Sie sich in der OLE DB Programmer's Reference.

Die OLE DB-Vorlagen fügen kein neues Objektmodell hinzu, sondern unterstützen das vorhandene OLE DB-Objektmodell. Die Klassen der obersten Schichten in den OLE DB-Consumervorlagen entsprechen den in der OLE DB-Spezifikation definierten Komponenten. Die OLE DB-Consumervorlagen umfassen erweiterte Features, z. B. mehrere Accessoren in einem Rowset. Durch die Verwendung von Vorlagen und Mehrfachvererbung wird die Bibliothek klein und flexibel.

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 einen OLE DB-Anbieter, der für den Datenbanktyp geeignet ist, auf den Sie zugreifen möchten (z. B. SQL, Oracle, ODBC und MSDS). Zu diesem Zweck verwenden Sie in der Regel einen Enumerator (siehe CEnumerator unter Datenquellen und Sitzungen).

Das Datenquellenobjekt stellt die für die Verbindung zur ausgewählten Datenquelle benötigten Verbindungsinformationen zur Verfügung. Das Datenquellenobjekt enthält auch Authentifizierungsinformationen (z. B. Benutzernamen und Kennwörter), mit deren Hilfe Benutzern der Zugriff auf die Datenquelle erlaubt wird. Das Datenquellenobjekt stellt eine Verbindung zur Datenbank her und erstellt dann ein oder mehrere Sitzungsobjekte. Jedes Sitzungsobjekt verwaltet seine eigenen Interaktionen mit der Datenbank, d. h. die Abfrage und den Abruf von Daten. Diese Transaktionen werden unabhängig von anderen Sitzungen ausgeführt.

Die Sitzung erstellt die Rowset- und Befehlsobjekte. Das Befehlsobjekt ermöglicht dem Benutzer die Interaktion mit der Datenbank, beispielsweise über SQL-Befehle. Das Rowset-Objekt stellt einen Satz von Daten dar, mit dessen Hilfe Sie Zeilen aktualisieren, löschen und einfügen können.

Ein OLE DB-Consumer bindet Spalten in den Datenbanktabellen an die lokalen Variablen. Hierfür wird ein Accessor verwendet, der eine Zuordnung mit Angaben bezüglich der Speicherung von Daten im Consumer enthält. Die Zuordnung besteht aus einem Satz von Bindungen zwischen Tabellenspalten und lokalen Puffern (Variablen) in der Consumeranwendung.

Wenn Sie mit Consumern arbeiten, besteht ein wichtiges Konzept darin, zwei Klassen in einem Consumer zu deklarieren: die Befehlsklasse (oder Tabellenklasse) und die Benutzerdatensatzklasse. Der Zugriff auf das Rowset erfolgt mithilfe der Befehlsklasse (oder Tabellenklasse), die von beiden eine Accessorklasse und eine Rowset-Klasse erbt. Die Benutzerdatensatz-Klasse enthält die zuvor beschriebene Rowsetbindungszuordnung.

Weitere Informationen finden Sie unter den folgenden Themen:

Siehe auch

Referenz

OLE DB SDK-Dokumentation

OLE DB-Programmiererreferenz

Konzepte

OLE DB-Programmierung

Weitere Ressourcen

Datenzugriff (C++)