Exkurs : ODBC


[Gesamtübersicht]...[JAVA und Datenbanken]  

Dieser Exkurs hat nicht das Ziel, die Architektur des ODBC API darzustellen, da, wie in der Einleitung angemerkt, die Architektur der JDBC auf die der ODBC API Architektur aufbaut.
Es wird die ODBC und JDBC API gegenübergestellt und die Hauptunterschiede herausgearbeitet.

 
  1. Call Level Interface
  2. Allgemein zu ODBC
  3. ODBC : Vor- und Nachteile
  4. Vergleich ODBC und JDBC


  1. Call Level Interface
  2. Das Call Level Interface ist eine Spezifikation der Standard Setting Organisation (X/Open) und der SQL Access Group (SAG).
    Diese Spezifikation legt fest, wie auf eine relationale DB mittels der Zugriffs- bzw. Abfragesprache SQL (Structure Query Language) zugegriffen wird.

    Die Entstehung dieser Spezifikation ist eng mit der Historie der Standardisierung der Abfragesprache SQL zu sehen.

    Das Ziel dieser Spezifikation war es, eine offene Schnittstelle zu entwerfen, die es beliebigen Programmen ermöglicht, mit beliebigen DBMS Daten auszutauschen.
    Diese Schnittstelle mußte somit zwischen der Applikationsebene und DBMS-Ebene eingeführt werden.



  3. Allgemein zu ODBC
  4. (ODBC steht für Open Database Connectivity)

    Die ODBC API ist eine Implementierung von Microsoft der Call Level Interface Spezifikation und
    ist wohl die am meisten benutzte Schnittstelle zum Zugriff auf relationale DB, weil diese API die Fähigkeit besitzt, eine Verbindung zu fast allen DBMS auf fast allen Plattformen zu schaffen.

    Die Schnittstelle wurde mit der Programmiersprache „C" implementiert.



  5. ODBC : Vor- und Nachteile
  6. Vorteile :

    Nachteile : Die Vorteile wurden bei der Umsetzung des JDBC APIs genutzt : Die Nachteile sind Argumente dafür, die ODBC API nicht "wörtlich" in eine JAVA API zu übersetzen

    Es wäre ja theoretisch denkbar gewesen, ein C-Adaptermodul zu erstellen und über das JAVA Native Interface (JNI) nativen C-Code auszuführen.

    Dadurch hätte man



  7. Vergleich : ODBC und JDBC

  8.  
     
    ODBC
    JDBC
     Quelle : Special Edition JAVA - Referenz & Anwendungen

    Der Hauptunterschied liegt darin, wie Daten zwischen dem Aufrufer und dem zuständigen Treiber hin und her geschickt werden:

    Dieser Unterschied resultiert aus den unterschiedlichen Implementierungssprachen. Ein weiterer wichtiger Unterschied sind die unterstützten Cursor-Arten :


Autor: Sven Garske

Last Updated on $Date: 1998/08/18 20:34:50 $