next up previous contents
Next: Entity-Relationship Modell Up: Einführung Previous: Dynamisches SQL

ODBC

 

ODBC (Open Database Connectivity) [ODBC94] ist eine von Microsoft definierte Programmierschnittstelle für den Zugriff von Programmen auf Datenbanken mittels SQL. Für den Programmierer ist ODBC eine Funktionsbibliothek, bei deren Verwendung es nicht notwendig ist, das Programm mit einem Precompiler zu übersetzen oder eine neue Sprache wie Embedded SQL zu lernen (dafür aber eine Funktionsbibliothek). Weitere Vorteile von ODBC sind die Unterstützung durch mehrere Hersteller auf mehreren Plattformen und die Transparenz bezüglich der Netzverbindung.
Die Architektur von ODBC hat vier Komponenten (siehe Abbildung gif):

 
Figure: Architektur von ODBC  

Eine Anwendung kann somit mit denselben Befehlen Daten von beliebige Datenbanken (für die es einen ODBC-Treiber gibt) auslesen, ändern und löschen. Diese Unabhängigkeit bezeichnet man unter anderem als Interoperabilität (weil die Anwendung mit beliebigen Datenbanken zusammenarbeiten kann).

ODBC definiert bestimmte Konformitätsebenen (conformance levels) in Bezug auf das unterstützte ODBC API und die unterstützte SQL-Grammatik.
Die Grundmenge der ODBC-Funktionen entspricht den Funktionen in der X/Open und SQL Access Group Call Level Interface-Spezifikation und umfaßt:

Die erste Konformitätsebene (Level 1 API) umfaßt zusätzlich:

Die zweite Konformitätsebene (Level 2 API) umfaßt schließlich noch:

Die minimale SQL-Grammatik umfaßt:

Von den meisten Datenbanktreibern werden zusätzlich angeboten:

Die vollständige SQL-Grammatik umfaßt schließlich noch:

Die meisten Funktionen der ODBC-Schnittstelle lassen sich in einfacher Weise auf die Konstrukte von Embedded SQL abbilden. ODBC verwendet allerdings anstelle von Hostvariablen Parameter-Platzhalter.

In [ODBC94] findet man eine detaillierte Gegenüberstellung der Konstrukte von Embedded SQL und der Funktionen von ODBC, die einem Anwendungsprogrammierer das Umsteigen auf die jeweils andere Art erleichtert.



next up previous contents
Next: Entity-Relationship Modell Up: Einführung Previous: Dynamisches SQL



Christoph Steindl
Thu Jul 24 14:37:19 MET DST 1997