Open Database Connectivity

standardisierte Datenbankschnittstelle, die SQL als Datenbanksprache verwendet

Open Database Connectivity (ODBC, englisch für etwa Offene Datenbank-Verbindungsfähigkeit) ist eine standardisierte Datenbankschnittstelle, die SQL als Datenbanksprache verwendet. Es bietet also eine Programmierschnittstelle (API), die es einem Programmierer erlaubt, seine Anwendung relativ unabhängig vom verwendeten Datenbankmanagementsystem (DBMS) zu entwickeln, wenn dafür ein ODBC-Treiber existiert.[1]

Mit ODBC besteht die Möglichkeit, die Details für den Zugriff auf die Datenbank (Credentials), wie Name des Datenbankservers, Port für den Netzwerkzugriff auf die Datenbank, Datenbankname, Benutzername des Datenbankbenutzers und dessen Passwort und weitere Details unter einem bestimmten Namen auf dem Client einzurichten. Durch die Verwendung dieses Namens kann dann eine Client-Anwendung die Verbindung zu der Datenbank herstellen, ohne die Details kennen zu müssen.

ODBC wurde ursprünglich von Microsoft auf Basis des Call Level Interface von X/Open und ISO/IEC entwickelt, ist aber inzwischen auch von anderen Softwareherstellern übernommen worden. In vielen Bereichen ist ODBC mittlerweile als Standard etabliert.

ODBC-Treiber haben einen unterschiedlichen Funktionsumfang:

  • Core (nur Basisfunktionalität)
  • Level 1
  • Level 2

Moderne Programmierumgebungen erlauben dadurch den unkomplizierten Zugriff auf sehr viele unterschiedliche Datenbank-Verwaltungssysteme (über vorgefertigte datensensitive Steuerelemente). Der Datenzugriff erfolgt nie unmittelbar auf eine Tabelle oder eine Datenbank, sondern immer über die entsprechende (ODBC-)Komponente. Mit ODBC kann auf jede lokale oder ferne Datenquelle zugegriffen werden.

Für objektorientierte Programmiersprachen (z. B. C++, Java) sind Klassen verfügbar, die Methoden für den Umgang mit dem Datenmaterial der unterschiedlichen Datenbanksysteme definieren. Der Programmierer muss sich um datenbankspezifische Details nicht mehr kümmern.

Innerhalb der Microsoft Foundation Classes wird Unterstützung für ODBC durch die Klassen CDatabase, CRecordset, CRecordView, CFieldExchange und CDBException implementiert.[2]

Auch das für das Microsoft-Jet-Datenbankmodul optimierte Data Access Objects (DAO) ermöglicht den mittelbaren Zugriff auf ODBC.

Seit Windows 2000 ist ODBC als Komponente der Microsoft Data Access Components (MDAC) ein integraler Bestandteil des Betriebssystems. Für frühere Windowsversionen kann es kostenfrei nachinstalliert werden. Microsoft kündigte 2011 an, dass die Version 2012 des Microsoft SQL Servers die letzte Version mit einem OLE-DB-Provider sein wird, für die Zeit danach wurde der ODBC-Provider empfohlen.[3]

Ursprünglich wurde ODBC nur für Windows entwickelt, mittlerweile ist die Schnittstelle auch für Datenbankmanagementsysteme unter Unix-Betriebssystemen verfügbar.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Changqing Li: Open Database Connectivity. In: Ling Liu, M. Tamer Özsu (Hrsg.): Encyclopedia of Database Systems. Springer, New York 2009, ISBN 978-0-387-35544-3, S. 1977 f. (englisch).
  2. Tyler Whitney et al.: ODBC and MFC. In: learn.microsoft.com. Microsoft, 3. August 2021, abgerufen am 16. November 2024 (englisch, inkl. Unterseiten).
  3. Rohan Lam: Microsoft is Aligning with ODBC for Native Relational Data Access. In: blogs.msdn.com. Microsoft, 29. August 2011, archiviert vom Original am 1. Oktober 2011; abgerufen am 4. November 2011 (englisch).