OLE DB-Anbieter (ADO)
OLE DB definiert eine Reihe von COM-Schnittstellen, um Anwendungen einheitlichen Zugriff auf Daten bereitzustellen, die in verschiedenen Informationsquellen gespeichert sind. Dieser Ansatz ermöglicht es einer Datenquelle, ihre Daten über die Schnittstellen freizugeben, die die entsprechenden DBMS-Funktionen (Datenbank-Managementsystem) für die Datenquelle unterstützen. Die hochleistungsfähige Architektur von OLE DB basiert auf der Verwendung eines flexiblen, komponentenbasierten Dienstmodells. Anstatt eine bestimmte Anzahl von Zwischenebenen zwischen der Anwendung und den Daten vorzuschreiben, erfordert OLE DB nur so viele Komponenten wie zum Ausführen eines bestimmten Vorgangs erforderlich sind.
Angenommen, ein Benutzer möchte eine Abfrage ausführen. Betrachten Sie die folgenden Szenarien:
Die Daten befinden sich in einer relationalen Datenbank, für die derzeit ein ODBC-Treiber vorhanden ist, aber kein nativer OLE DB-Anbieter: Die Anwendung verwendet ActiveX Data Objects (ADO), um mit dem OLE DB-Anbieter für ODBC zu kommunizieren, der dann den entsprechenden ODBC-Treiber lädt. Der Treiber übergibt die SQL-Anweisung an das DBMS, das die Daten abruft.
Die Daten befinden sich in einer Microsoft SQL Server-Instanz, für die ein nativer OLE DB-Anbieter vorhanden ist: Die Anwendung verwendet ADO, um direkt mit dem OLE DB-Anbieter für Microsoft SQL Server zu kommunizieren. Es sind keine Zwischenebenen erforderlich.
Die Daten befinden sich in einer Microsoft Exchange Server-Instanz, für die ein OLE DB-Anbieter vorhanden ist, die aber kein Modul zum Verarbeiten von SQL-Abfragen verfügbar macht: Die Anwendung verwendet ADO, um mit dem OLE DB-Anbieter für Microsoft Exchange zu kommunizieren, und ruft eine OLE DB-Abfrageprozessorkomponente auf, um die Abfrage zu verarbeiten.
Die Daten in Form von Dokumenten befinden sich im Microsoft NTFS-Dateisystem: Auf Daten wird mithilfe eines nativen OLE DB-Anbieters über den Microsoft-Indexdienst zugegriffen, der den Inhalt und die Eigenschaften von Dokumenten im Dateisystem indiziert, um effiziente Inhaltssuchen zu ermöglichen.
In allen der vorherigen Beispiele kann die Anwendung die Daten abfragen. Die Anforderungen des Benutzers werden mit einem Minimum an Komponenten erfüllt. In jedem Fall werden nur bei Bedarf zusätzliche Komponenten verwendet und nur die erforderlichen Komponenten aufgerufen. Dieses bedarfsgesteuerte Laden von wiederverwendbaren und gemeinsam genutzten Komponenten trägt erheblich dazu bei, dass bei der Verwendung von OLE DB eine hohe Leistung erzielt wird.
Anbieter lassen sich in zwei Kategorien unterteilen: Anbieter, die Daten bereitstellen, und Anbieter, die Dienste bereitstellen. Ein Datenanbieter besitzt eigene Daten und macht diese in Tabellenform für Ihre Anwendung verfügbar. Ein Dienstanbieter kapselt einen Dienst, indem Daten erstellt und verbraucht werden, sodass Features in ADO-Anwendungen erweitert werden. Ein Dienstanbieter kann auch als eine Dienstkomponente definiert werden, die in Verbindung mit anderen Dienstanbietern oder Komponenten verwendet werden muss.
ADO stellt eine konsistente Schnittstelle auf höherer Ebene für die verschiedenen OLE DB-Anbieter bereit.
In diesem Abschnitt werden die folgenden Themen behandelt: