Definition

Was ist ODBC?

| Autor / Redakteur: Stefan Luber / Nico Litzel

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

Bei ODBC (Open Database Connectivity) handelt es sich um eine standardisierte, offene Schnittstelle für den Zugriff auf unterschiedliche Datenbankmanagementsysteme. Über ODBC-Treiber können Anwendungen direkt Anweisungen an Datenbanken erteilen oder Abfragen ausführen.

Open Database Connectivity, abgekürzt ODBC, wurde ursprünglich von Microsoft entwickelt. ODBC hat sich mittlerweile als eine Art Standard für den Zugriff von Anwendungen auf unterschiedliche Datenbanken etabliert und ist neben Windows auch für Betriebssysteme wie Unix oder macOS verfügbar. Die ODBC-Schnittstelle verwendet die Datenbanksprache SQL (Structured Query Language) und stellt Anwendungen eine offenes, standardisiertes API (Application Programming Interface) zur Verfügung. Beispielsweise können ODBC-Anweisungen an Datenbanken wie dBase, Access und DB2 oder direkt an Excel-Dateien gesendet werden.

Für den Zugriff auf die verschiedenen Datenbanken benötigt ODBC spezielle Treiber. Dank der Nutzung von SQL können die Anwendungen mit den Datenbanken kommunizieren, ohne die proprietären Protokolle oder Schnittstellen der verschiedenen Datenbankmanagementsysteme zu kennen. Die SQL-Befehle der Anwendungen wandelt ODBC in die Sprache und Formate der Datenbanken um. Der eigentliche Zugriff auf die Daten erfolgt niemals direkt auf die Datenbank oder die Tabelle, sondern immer über die zugehörige ODBC-Komponente. Open Database Connectivity erlaubt sowohl den Zugriff auf lokale als auch auf entfernte Datenbanken über Netzwerkverbindungen.

Für objektorientierte Programmiersprachen wie Java oder C++ sind Klassen vorhanden, die die Kommunikation per ODBC mit den Datenbanken definieren. Programmierer müssen keine datenbankspezifischen Detailkenntnisse besitzen. Die erste Veröffentlichung von ODBC erfolgte bereits im Jahr 1992.

Aufbau und Funktionsweise von ODBC

Möchte eine Anwendung auf eine Datenbank als Datenquelle über ODBC zugreifen, sind vier Komponenten beteiligt. Diese Komponenten sind:

  • Die Anwendung,
  • der ODBC-Treiber-Manager,
  • der ODBC-Treiber und
  • die Datenquelle (Datenbank).

In der Datenquelle sind die für die jeweilige Anwendung relevanten Daten gespeichert. Die Datenquelle kann sowohl eine Datenbank als auch eine Excel-Tabelle oder eine Text-Datei sein. Die Anwendung kommuniziert mit der Datenquelle, indem sie zunächst den Verbindungsaufbau initiiert. Hierfür wendet sie sich zunächst an den Treiber-Manager und benennt über den Data Source Name (DSN) die Datenquelle.

Der Verbindungsaufbau kann weitere spezifische Informationen wie Userkennungen oder Passwörter enthalten. Der Treiber-Manager lokalisiert anhand des DSN den zuständigen Treiber und lädt die benötigten ODBC-Treiber. Anschließend gibt er die Daten an den Treiber weiter. Ist die Verbindung zur Datenquelle hergestellt, kann die Anwendung Anweisungen über SQL-Befehle erteilen. Der ODBC-Treiber selbst ist auf Windows-Systemen eine DLL-Datei. Im Treiber sind die Funktionen für den Aufbau einer Verbindung mit der Datenquelle implementiert. Gleichzeitig übernimmt er die Konvertierung der SQL-Abfragen der Anwendung in das spezifische Format der Datenquelle. Er ist er in der Lage, auch Zeichensätze umzuwandeln. Die Ergebnisse gibt der Treiber zurück an die Anwendung.

Treten Fehler auf, interpretiert der ODBC-Treiber diese und liefert sie in Form von Fehlercodes aus. Dank der ODBC-Verbindung zur Datenquelle kann die Anwendung ihre Daten direkt in der Datenbank verwalten. Die Notwendigkeit, Daten zu kopieren oder eine lokale Kopie zu erstellen, entfällt. Daten lassen sich direkt aus der Datenquelle abrufen und dort speichern oder verändern. ODBC übernimmt die Übertragung sämtlicher SQL-Anfragen und resultierender Ergebnisse. Datenbanken können mit mehreren Anwendungen per ODBC in Verbindung stehen. Die Datenbank selbst ist entweder auf dem gleichen Serversystem beziehungsweise Rechner wie die Anwendung installiert oder liegt auf einem entfernten, über das Netzwerk erreichbaren System.

Vor- und Nachteile der Open Database Connectivity

Die mit Open Database Connectivity standardisierte, offene Schnittstelle bietet eine ganze Reihe von Vorteilen. Entwickler können ihre Anwendungen völlig unabhängig von einzelnen Datenbanken programmieren und müssen sich nicht um deren Protokolle und Datenbanksprachen kümmern. SQL wird für die Anwendung zur universalen Datenbanksprache. Gleichzeitig entsteht eine hohe Flexibilität der Anwendung, da sie sich grundsätzlich mit beliebigen Datenbanken verbinden kann. Es genügen die Installation des benötigten ODBC-Treibers für die jeweilige Datenbank und die Konfiguration der Konnektivität. Bei Bedarf ist die Datenquelle einer Anwendung mit wenig Aufwand zu migrieren. Ein weiterer Vorteil ergibt sich durch die Möglichkeit des Zugriffs mehrerer Anwendungen auf eine einzige Datenquelle. Dadurch lässt sich die Vernetzung der Anwendungen untereinander realisieren, ohne dass sie sich direkt miteinander austauschen müssen.

Diesen Vorteilen stehen einige Nachteile gegenüber. Die Einbindung von Open Database Connectivity mit seinen Komponenten und Treibern führt unter Umständen zu längeren Antwortzeiten bei der Ausführung von Datenbankaktionen. Komplexe Systemlandschaften und verteilt installierte Datenbanksysteme mit langsamen Netzwerkverbindungen können die Performance der Anwendung und der Datenabfragen zusätzlich negativ beeinflussen. Für die Verwendung von ODBC sind im Vorfeld die benötigten Treiber zu installieren. Sind mehrere unterschiedliche Datenquellen beteiligt, ist für jede ein eigener Treiber notwendig.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Elastic Stack in Version 6.7 veröffentlicht

Datenverwaltungsfunktionen ausgebaut

Elastic Stack in Version 6.7 veröffentlicht

In der aktuellen Version 6.7 enthält der Elastic Stack zwei neue Lösungen: Elastic Maps visualisiert Geodaten mit verschiedenen Ebenen in Kibana und Elastic Uptime überwacht die System- und Dienst-Verfügbarkeit. lesen

Alteryx veröffentlicht Plattform-Update

Zahlreiche Verbesserungen

Alteryx veröffentlicht Plattform-Update

Im Rahmen seiner jährlichen Unternehmenskonferenz „Inspire 2018“ hat Alteryx Version 2018.2 seiner Self-Service-Analyseplattform vorgestellt. Sie umfasst neue Funktionen und Verbesserungen. lesen

MapR erweitert Data Fabric für Kubernetes

Converged Data Platform ausgebaut

MapR erweitert Data Fabric für Kubernetes

Die MapR Converged Data Platform wurde um Container erweitert. Damit ist nun auch der Einsatz von zustandsbehafteten Anwendungen über die Cloud möglich. lesen

IoT-Basics – die technische Basis von Big Data

Data Science

IoT-Basics – die technische Basis von Big Data

Big Data beinhaltet eine Reihe von IT-Techniken wie Cluster Computing und MapReduce sowie mathematisch-statistischer Verfahren (Data Mining, Machine Learning). Der Beitrag gibt einen Überblick über die relevanten Datenbankenkonzepte (Hadoop- und NoSQL-Datenbanken) und Programmiersprachen. lesen

Datenvirtualisierung – den großen Vorteil aus Daten ziehen

Kommentar von Wolfgang Kelz, ‎Tibco

Datenvirtualisierung – den großen Vorteil aus Daten ziehen

Hießen früher die Wettbewerbsfelder Produktionskapazität und Finanzkapital, so messen sich Unternehmen heute im Bereich des Informationsmanagements. Unternehmen haben nur Erfolg, wenn sie ihre Daten auch bestmöglich zu nutzen wissen. Dafür müssen sich Unternehmen einigen technischen Herausforderungen stellen und das ist kein einfaches Unterfangen. lesen

Austauschformate und Standards für die Industrie 4.0

IoT-Basics

Austauschformate und Standards für die Industrie 4.0

Parallel zur Fertigungswelt entstehen derzeit Plattformen für das industrielle Internet der Dinge (IIOT). Mit ihnen soll es möglich sein, Fertigungsdaten zu sammeln und auszuwerten. Problem: Für viele dieser Plattformen ist der Zugang zu Daten aus Maschinen und Produktionsanlagen schwierig. Abhilfe schaffen offene Standards wie AutomationML und OPC UA. lesen

So funktioniert Datenauswertung in Echtzeit

Realtime Analytics

So funktioniert Datenauswertung in Echtzeit

Prozesse, Endgeräte, Sensoren und Maschinen liefern laufend Logfiles, Sensor- und Betriebsdaten, Transaktionsdaten, die sich korrelieren und auswerten lassen – in Echtzeit. Doch „Echtzeit“ muss nicht unbedingt „ohne Verzug“ bedeuten, sondern lediglich in ausreichender Schnelligkeit für den jeweiligen IT-Benutzer, also vielmehr „rechtzeitig“. Daher befasst sich Realtime Analytics nicht nur mit Streaming-Daten, sondern auch mit viel „langsameren“ Datenlieferungen. lesen

HawkEye sorgt für mehr Sicherheit im Netzwerk

Big Data für Security-Analysen

HawkEye sorgt für mehr Sicherheit im Netzwerk

Vor allem größere Netzwerke werden immer komplexeren und besser geplanten Angriffen ausgesetzt. Da gleichzeitig auch die Datenmenge und der Datenfluss im Unternehmen ansteigen, wird es schwerer, solche Angriffe und ihre Folgen aufzudecken. Hier soll die HawkEye Analytics Platform (AP) helfen. lesen

Progress DataDirect erhält „Big-Data-Versicherung“

Kurze Release-Zyklen

Progress DataDirect erhält „Big-Data-Versicherung“

Die Datenkonnektivitäts-Suite DataDirect von Progress bietet ab sofort Day One Support für Big-Data-Technologien mit kurzen Release-Zyklen. Dazu zählen beispielsweise Hadoop Hive, SparkSQL und MongoDB. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44800711 / Definitionen)