OLE DB-Anbietervorlagen (C++)

OLE DB ist ein wichtiger Bestandteil der Microsoft Universal Data Access-Strategie. Das OLE DB-Design ermöglicht den Hochleistungsdatenzugriff aus jeder Datenquelle. Tabellendaten können unabhängig davon, ob sie aus einer Datenbank stammen, über OLE DB angezeigt werden. Die Flexibilität gibt Ihnen eine enorme Leistungsfähigkeit.

Wie in OLE DB-Consumern und -Anbietern erläutert, verwendet OLE DB das Konzept von Consumern und Anbietern. Der Verbraucher fordert Daten an; Der Anbieter gibt Daten in einem tabellarischen Format an den Consumer zurück. Aus Programmierperspektive besteht die wichtigste Auswirkung dieses Modells darin, dass der Anbieter jeden Aufruf implementieren muss, den der Verbraucher tätigen kann.

Was ist ein Anbieter?

Ein OLE DB-Anbieter ist eine Reihe von COM-Objekten, die Schnittstellenaufrufe von einem Consumerobjekt bedienen und Daten in einem tabellarischen Format von einer dauerhaften Quelle (als Datenspeicher bezeichnet) an den Verbraucher übertragen.

Anbieter können einfach oder komplex sein. Der Anbieter kann eine minimale Funktionalität oder einen vollgeblasenen Produktionsqualitätsanbieter unterstützen, indem mehr Schnittstellen implementiert werden. Ein Anbieter kann eine Tabelle zurückgeben, dem Client erlauben, das Format dieser Tabelle zu bestimmen und Vorgänge für diese Daten auszuführen.

Jeder Anbieter implementiert einen Standardsatz von COM-Objekten, um Anforderungen vom Client zu verarbeiten, was bedeutet, dass jeder OLE DB-Consumer unabhängig von der Sprache (z. B. C++ und Basic) auf Daten von jedem Anbieter zugreifen kann.

Jedes COM-Objekt enthält mehrere Schnittstellen, von denen einige erforderlich sind und von denen einige optional sind. Durch die Implementierung der obligatorischen Schnittstellen garantiert ein Anbieter ein Mindestmaß an Funktionalität (als Compliance bezeichnet), das jeder Client verwenden kann. Ein Anbieter kann optionale Schnittstellen implementieren, um zusätzliche Funktionen bereitzustellen. Die ARCHITEKTUR der OLE DB-Anbietervorlage beschreibt diese Schnittstellen ausführlich. Der Client sollte immer aufrufen QueryInterface , um festzustellen, ob ein Anbieter eine bestimmte Schnittstelle unterstützt.

Unterstützung der OLE DB-Spezifikationsebene

Die OLE DB-Anbietervorlagen unterstützen die OLE DB Version 2.7-Spezifikation. Mithilfe der OLE DB-Anbietervorlagen können Sie einen kompatiblen Anbieter der Ebene 0 implementieren. Das Beispiel verwendet z. B. Provider die Vorlagen, um einen Nicht-SQL-Befehlsserver (MS-DOS) zu implementieren, der den DOS DIR-Befehl ausführt, um das Dateisystem abzufragen. Das Beispiel gibt die Verzeichnisinformationen in einem Rowset zurück, bei dem es sich um den standardmäßigen OLE DB-Mechanismus zum Zurückgeben tabellarischer Daten handelt.The Provider sample returns the directory information in a rowset, which is the standard OLE DB mechanism for returning tabular data.

Der einfachste Anbietertyp, der von den OLE DB-Vorlagen unterstützt wird, ist ein schreibgeschützter Anbieter ohne Befehle. Anbieter mit Befehlen werden ebenfalls unterstützt, ebenso wie Textmarken- und Lese-/Schreibfunktionen. Sie können einen Lese-/Schreibanbieter implementieren, indem Sie zusätzlichen Code schreiben. Dynamische Rowsets und Transaktionen werden von der aktuellen Version nicht unterstützt, sie können aber bei Bedarf hinzugefügt werden.

Wann müssen Sie einen OLE DB-Anbieter erstellen?

Sie müssen nicht immer Ihren eigenen Anbieter erstellen. Microsoft stellt mehrere vordefinierte Standardanbieter im Dialogfeld "Datenverknüpfungseigenschaften " in Visual C++ bereit. Der Hauptgrund für die Erstellung eines OLE DB-Anbieters besteht darin, die Universal Data Access-Strategie zu nutzen. Einige der Vorteile dieser Vorgehensweise sind:

  • Zugreifen auf Daten über eine beliebige Sprache wie C++, Basic und Visual Basic Scripting Edition. Es ermöglicht verschiedenen Programmierern in Ihrer Organisation, auf die gleichen Daten auf die gleiche Weise zuzugreifen, unabhängig davon, welche Sprache sie verwenden.

  • Öffnen Sie Ihre Daten in anderen Datenquellen wie SQL Server, Excel und Access. Dies kann nützlich sein, wenn Sie Daten in verschiedenen Formaten übertragen möchten.

  • Teilnehmen an cross-data source (heterogenen) Vorgängen. Dies kann eine effektive Methode der Data Warehouse sein. Mithilfe von OLE DB-Anbietern können Sie Daten im systemeigenen Format beibehalten und weiterhin in einem einfachen Vorgang darauf zugreifen können.

  • Hinzufügen zusätzlicher Features zu Ihren Daten, z. B. der Abfrageverarbeitung.

  • Erhöhen Sie die Leistung des Zugriffs auf Daten, indem Sie steuern, wie sie bearbeitet wird.

  • Erhöhung der Robustheit. Wenn Sie über ein proprietäres Datenformat verfügen, auf das nur ein Programmierer zugreifen kann, sind Sie gefährdet. Mithilfe von OLE DB-Anbietern können Sie dieses proprietäre Format für alle Programmierer öffnen.

Schreibgeschützte und aktualisierbare Anbieter

Anbieter können in der Komplexität und Funktionalität stark variieren. Es ist nützlich, Anbieter in schreibgeschützte Anbieter und aktualisierbare Anbieter zu kategorisieren:

Weitere Informationen finden Sie unter:

Siehe auch

Datenzugriff
OLE DB SDK-Dokumentation
OLE DB-Programmierreferenz