Suchen

Definition Was ist OLEDB?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

OLEDB – Object Linking and Embedding Database – ist eine von Microsoft entwickelte Programmierschnittstelle, mit der sich standardisiert auf verschiedene Datenquellen zugreifen lässt. OLEDB unterstützt nicht nur strukturierte Daten und SQL-Abfragen, sondern auch unstrukturierte Datenquellen wie einfache Textdateien.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Die Abkürzung OLEDB steht für „Object Linking and Embedding Database“ und bezeichnet eine Programmierschnittstelle (API). Das API ermöglicht einen Zugriff auf verschiedene Datenquellen per standardisierter Schnittstelle und basiert auf dem Component Object Model (COM) von Microsoft. Es sind verschiedene Methoden zum Lesen und Schreiben von Daten integriert. Von anderen Datenbanktechnologien unterscheidet sich das von Microsoft entwickelte OLEDB vor allem in der Art, wie der universelle Datenzugriff bereitgestellt wird. Der Datenzugriff ist unabhängig von der Form, in der die Daten gespeichert sind, sehr einfach möglich.

Datenquellen können SQL-Datenbanken, Textdateien, Excel-Mappen, E-Mail-Nachrichten, sequenzielle Dateien oder Anwendungen wie Projektplanungen sein. OLEDB ist sehr leistungsfähig und kann zusammen mit Visual C++-Anwendungen zum Einsatz kommen. Mit der OLEDB-API löst Microsoft ODBC ab, das lediglich den SQL-Zugriff auf relationale Datenbanken gestattete. OLEDB ist zwar wesentlich komplexer als ODBC, erweitert aber die Funktionalität hinsichtlich eines standardisierten Zugriffs auf verschiedene Datenquellen enorm. Nicht nur die SQL-Fähigkeiten von ODBC sind enthalten, sondern auch Zugriffsmethoden auf unstrukturierte Datenquellen.

Die grundlegenden Funktionen von OLEDB

Für die Realisierung eines universellen Datenzugriffs stehen zwei grundlegende Funktionen zur Verfügung. Es handelt sich hierbei um verteilte Abfragen auf mehrere Datenquellen und Abfragefunktionen für Daten, die nicht in einem Datenbankmanagementsystem gespeichert sind.

Verteilte Abfragen können auf gleichartige oder unterschiedliche Typen von Datenquellen erfolgen. Die gleiche Datenanfrage kann bei verschiedenen Datenquellen wie einer SQL-Datenbank oder eine Access-Datenbank durchgeführt werden.

Sollen Daten abgefragt werden, die nicht in einem Datenbankmanagementsystem gespeichert, sondern in Dateisystemen, Excel-Mappen, Textdateien oder E-Mail-Nachrichten abgelegt sind, bietet OLEDB ebenfalls geeignete Funktionen.

Die wichtigsten Unterscheidungsmerkmale zwischen OLEDB und ODBC

Obwohl sowohl OLEDB als auch ODBC den Zugriff auf Datenquellen ermöglichen, existieren fundamentale Unterschiede in ihrer Architektur. Während ODBC auf Prozessen basiert, handelt es sich bei OLEDB um eine Komponenten-basierte Spezifikation. ODBC bewegt sich in einem relationalen Datenumfeld, OLEDB ist für generelle Zugriffe auf alle Arten von Datenquellen konzipiert. Hierfür verwendet OLEDB eine COM-Umgebung (Component Object Model). OLEDB stellt eine Gruppe von COM-Schnittstellen dar und organisiert eine Datenbank als Matrix kooperierender Komponenten. Auf der Grundlage der COM-Spezifikationen ist eine erweiterbare Reihe von Schnittstellen definiert. Durch die Verwendung der COM-Schnittstellen wird ein universeller Zugriff ermöglicht. Gleichzeitig reduziert COM überflüssige Verdopplungen von Diensten. Auch die Interoperabilität zwischen Anwendungen und Datenquellen wird verbessert.

Die Begriffe OLEDB-Anbieter (Provider) und -Verbraucher (Consumer)

OLEDB definiert für die standardisierten Datenzugriffe die beiden Begriff Anbieter (Provider) und Verbraucher (Consumer). Die Begriffe benennen die an den Interaktionen beteiligten Komponenten. Anbieter sind Applikationen, die OLEDB-Schnittstellen implementieren. Verbraucher sind Applikationen, die auf OLEDB-Schnittstellen zugreifen möchten. So sind beispielsweise Microsoft SQL Server, DB2, Lotus Notes, Microsoft Exchange oder Microsoft Windows 2000 OLEDB-Provider. Sie erlauben den OLEDB-Consumern den standardisierten Zugriff auf die Daten über die dokumentierten, einheitlichen Schnittstellen. Der OLEDB-Anbieter ist vergleichbar mit einem ODBC-Treiber, der Mechanismen für den Zugriff auf relationale Daten bereitstellt. Die Möglichkeiten des Zugriffs werden vom Provider gegenüber einem ODBC-Treiber um die Abfragen für unstrukturierten Datenquellen erweitert. Jede Anwendung, die auf eine Datenquelle per OLEDB-API zugreift, ist ein OLEDB-Consumer. Beispiele für OLEDB-Verbraucher sind Microsoft Office, Lotus Notes oder SAS/Access.

OLEDB und das Data Mining

Speziell für das Data Mining mit OLEDB existiert eine Spezifikation von Microsoft. Sie spezifiziert ein allgemeines Interface für Data-Mining-Anwendungen und entstand in Zusammenarbeit mit über 40 Herstellern aus dem Business-Intelligence-Umfeld. Erklärtes Ziel der Spezifikation ist es, einen Industriestandard für das Data Mining bereitzustellen, der den unterschiedlichen Data-Mining-Algorithmen verschiedener Hersteller den einfachen Zugriff ermöglicht. Sie definiert die Programmierschnittstelle zwischen dem Data Mining Provider und dem Data Mining Consumer. Inhalt der Spezifikation ist keine neue Schnittstelle, sondern eine standardisierte Abfragesprache ähnlich zu SQL.

Typischer Ablauf von Datenbankabfragen mit OLEDB

Datenzugriffe mit OLEDB folgen immer dem gleichen Schema. Eine beispielhafte Abfrage von Daten aus einer Datenquelle könnte folgendermaßen ablaufen: Zunächst erfolgt die Initialisierung der Abfrageschnittstelle. Im nächsten Schritt kontaktiert der Consumer die Datenquelle (Provider) und stellt eine Verbindung her. Anschließend wird der Befehl zur Abfrage der Daten an die Datenquelle übermittelt. Die Datenquelle liefert die Ergebnisse über die Verbindung an den Consumer aus. Die Consumer-Applikation verarbeitet die Ergebnisse und beendet die Verbindung mit der Datenquelle wieder.

(ID:45262383)

Über den Autor