Open Database Connectivity
# Open Database Connectivity

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.

## Details

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.

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

Seit Windows 2000 ist ODBC als Bestandteil von MDAC 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.

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

