JDBC-Treiber: Typ 1 und Typ 2 im Vergleich

Eingeordnet in Elektronik

Geschrieben am in Deutsch mit einer Größe von 2,1 KB

JDBC-ODBC-Bridge (Typ 1)

ODBC ist eine Standard-API, ähnlich wie JDBC, die es Sprachen wie C++ ermöglicht, standardisiert auf verschiedene Datenbanksysteme zuzugreifen. Ein JDBC-ODBC-Brückentreiber (Typ 1) überträgt alle Aufgaben an einen ODBC-Treiber, der die eigentliche Kommunikation mit der Datenbank übernimmt.

Die JDBC-ODBC-Brücke ermöglicht den Anschluss von Java-Anwendungen an Datenbanken, für die keine nativen JDBC-Treiber verfügbar sind. Dies war bei der Einführung der JDBC-API sehr nützlich, da viele Datenbanken zwar über ODBC-Treiber, aber nicht über JDBC-Treiber verfügten.

Nachteile dieses Treibers:

  • Abhängigkeit von nativem Code: Da der ODBC-Treiber nicht in Java entwickelt wurde, ist die Portabilität der Anwendung gefährdet.
  • Instabilität: Der Aufrufprozess ist komplex: Die Anwendung ruft den JDBC-Treiber-Manager auf, dieser den JDBC-Treiber (die Brücke), welcher wiederum den ODBC-Treiber anspricht, der schließlich die Datenbank kontaktiert. Diese vielen Schichten führen häufig zu Fehlern und Instabilität.

Die Brücke ist Teil des JDK von Sun (Paket sun.jdbc.odbc). Während sie anfangs hilfreich war, wird sie heute aufgrund der eingeschränkten Portabilität und der hohen Fehleranfälligkeit nicht mehr empfohlen.

Native API-Treiber (Typ 2)

Dieser Treibertyp basiert auf einer in nativem Code geschriebenen Bibliothek für den Datenbankzugriff. Der Treiber übersetzt JDBC-Aufrufe in Aufrufe der nativen Code-Bibliothek, welche dann mit der Datenbank kommuniziert. Diese native Bibliothek wird direkt von den Datenbankherstellern bereitgestellt.

Vorteile und Nachteile:

  • Effizienz: Diese Treiber sind effizienter und weniger fehleranfällig als die JDBC-ODBC-Brücke, da weniger Schichten zwischen dem Anwendungscode und der Datenbank liegen.
  • Portabilität: Auch hier besteht weiterhin das Problem der eingeschränkten Portabilität aufgrund der Abhängigkeit von nativem Code.

Verwandte Einträge: