Zum Inhalt springen

Was ist ODBC?

  • Daten

Open Database Connectivity (kurz: ODBC) ist eine standardisierte Schnittstelle für SQL Datenbanken, die es ermöglicht auf verschiedene Datenbankmanagementsysteme zuzugreifen und Abfragen auszuführen. Das Ziel ist es, eine Programmierschnittstelle zu haben, die unabhängig von der gewählten Datenbank funktioniert und somit an verschiedene bestehende Datenbanken angeschlossen werden kann.

Wie funktioniert die Open Database Connectivity?

ODBC wurde erstmals im Jahr 1992 vorgestellt. Damals war es nur schwierig möglich eine Kommunikation zwischen einer Datenbank und einer Anwendung aufzubauen, da kein standardisiertes Werkzeug zur Verfügung stand.

Die Entwicklung von ODBC hat es dann ermöglicht, datenbankunabhängige Anwendungen zu programmieren. Dazu werden die Treiber genutzt, welche von Datenbank zu Datenbank unterschiedlich sind. Sie übersetzen die allgemeine Abfrage in die spezifische Sprache der relationalen Datenbank. Deshalb muss auch für jeden Datenspeicher ein eigener Treiber installiert werden.

Das ermöglicht es dem Programmierer eine standardisierte Open Database Connectivity Datenanfrage zu stellen, welche dann, abhängig vom Treiber, für die genutzte Datenbank, wie beispielsweise MySQL, übersetzt wird.

Des Weiteren werden im Treiber auch die Zugriffsrechte für den Speicher hinterlegt, wie Benutzername und Passwort.

In welcher Architektur wird ODBC genutzt?

Angenommen eine Anwendung nutzt Daten aus zwei verschiedenen relationalen Datenbanken, wie MySQL und PostgreSQL. In beiden Datenspeichern liegen Informationen, die erst wertvoll werden, sobald sie zusammengeführt werden. Jedoch ist es nicht möglich beide Tabellen in derselben Datenbank abzuspeichern.

Statt die Informationen aus einer Tabelle mühsam zu kopieren und mit der anderen Datenbank zu joinen, können mithilfe von ODBC die Daten direkt abgefragt und zusammengeführt werden. Dzau installiert man auf den Datenbankservern jeweils die entsprechenden Treiber. Dann kann man mithilfe von SQL-Abfragen die Informationen lesen und wie gewünscht zusammenführen. Von der Schnittstelle aus können die vereinten Daten dann weiterverarbeitet oder weitergeleitet werden.

Was sind die Vor- und Nachteile der Nutzung?

ODBC bietet Entwicklern die Möglichkeit Anwendungen zu programmieren, die allgemein genutzt werden können, da sie unabhängig von der konkreten Datenbank sind. Solange der Speicher dem relationalen Konzept folgt, ist die Schnittstelle nutzbar. Das ist vor allem dann vorteilhaft, wenn man eine Software programmieren und diese zum Verkauf anbieten will.

Gleichzeitig kann man mit mehreren, verschiedenen Anwendungen auf diesselbe Open Database Connectivity Schnittstelle zugreifen und ist dadurch flexibler. Diese hohe Flexibilität hat jedoch den Nachteil, dass die Abfragen mitunter nur vergleichsweise langsam laden und dadurch die Ausführung von Transaktionen sich verzögern. Deshalb ist die Nutzung für performante Anwendungen, bei denen die Ladezeit eine große Rolle spielt, eher ungeeignet.

Zusätzlich ist eine gewisse Vorarbeit notwendig, um Open Database Connectivity gut nutzen zu können. Für jede Datenquelle müssen die entsprechenden Treiber installiert werden, welche sich für einzelne Datenquellen unterscheiden. In komplexen Systemlandschaften kann das mitunter eine komplizierte Angelegenheit sein und die Treiber müssen zudem regelmäßig aktualisiert werden.

Des Weiteren sind die Treiber basierend auf Microsoft und Windows. Zwar wurden mittlerweile auch Treiber für Linux und MacOS Plattformen nachgezogen, jedoch kann es im Einzelfall hier zu Problemen kommen, da ODBC für Windows entwickelt und optimiert wurde.

Was ist OLEDB?

OLEDB wurde auch von Microsoft entwickelt und stellt ein Application Programming Interface (kurz: API) für Datenbanken bereit. Es bietet diesselben Möglichkeiten wie ODBC und gilt auch deshalb als Nachfolger der Open Database Connectivity. Jedoch holt es die Daten bereits auf einem höheren Level ab und ermöglicht es dadurch auch nicht-relationale Datenbanken abzufragen, was als großer Vorteil gegenüber ODBC gesehen wird.

Sobald die Anwendung auf mehrere Datenbanken zugreift, welche nicht nur relational sind, sollte auf OLEDB zurückgegriffen werden.

Das solltest Du mitnehmen

  • ODBC ist eine standardisierte Schnittstelle für relationale Datenbanken, welche es ermöglicht Anwendungen zu programmieren, die nicht von der konkreten Datenbanktechnologie abhängt.
  • Diese Schnittstelle bietet Programmierern die Möglichkeit, einfach und unkompliziert mehrere Datenbank und deren Informationen zu kombinineren.
  • Jedoch kann es bei der Nutzung zu längeren Abfragezeiten kommen als bei einem direkten Zugriff. Zusätzlich müssen die Systeme vorher mit den entsprechenden Treibern für die Datenbanken ausgestattet sein.

Andere Beiträge zum Thema ODBC

close
Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Cookie Consent mit Real Cookie Banner