Szenario im Überblick
Heutzutage werden täglich Unmengen an Daten erfasst. Sei es nun eine Web-2.0-Anwendung (Facebook, Twitter, MySpace, …), ein weltweites Unternehmensinformationssystem, das kleine Netzwerküberwachungsprogramm oder die selbst programmierte Personalverwaltungsapplikation: All diese Systeme verwenden Datenbanken als Datenverarbeitungsgrundlage.
In der Programmiersprache Java haben Sie natürlich ebenfalls die Möglichkeit, mit Datenbanken "zu sprechen". Um nun mit möglichst vielen verschiedenen Datenbankprodukten Informationen austauschen zu können, wurde das JDBC-Treibermodell entwickelt. JDBC bietet eine einheitliche Schnittstelle zu den unterschiedlichsten Datenbanken. Mithilfe des JDBC-Treibers kann es uns als Entwickler egal sein, welche Datenbank zugrunde liegt. Oracle? MySQL? DB2? Microsoft Access? All dies ist mit dem universellen JDBC-Treiber kein Problem.
Die Hauptaufgaben von JDBC – was im übrigen für Java Database Connectivity steht – ist die Verbindungsherstellung, die Verwaltung der Verbindung an sich, SQL-Anfragen an die Datenbank weiterzuleiten und die Ergebnisse in eine für Java nutzbare Form umzuwandeln.
Für jede spezifische Datenbank ist ein eigener Treiber erforderlich. Diese Treiber werden in der Regel von den Datenbankherstellern angeboten.
JDBC-Typen
In der JDBC-Spezifikation ist von vier unterschiedlichen Typen die Rede:
| Typ-1-Treiber | Kommunikation findet über einen JDBC-ODBC -Bridge statt der Typ-1-Treiber ist abhängig von einem installiertem ODBC-Treiber typischerweise kommt die Treiberart dann zur Verwendung, wenn es zur Datenbank keinen JDBC-Treiber gibt, jedoch einen ODBC-Treiber (Abb. 2) |
| Typ-2-Treiber | Kommunikation mit dem DB -Server erfolgt über eine plattformspezifische Programmbibliothek auf dem Client d. h. es muss für jede zu unterstützende Betriebssystemplattform eine zusätzliche Programmbibliothek entwickelt werden (Abb. 3) |
| Typ-3-Treiber | Typ-3-Treiber übersetzen JDBC-API-Befehle in generische DBMS -Befehle diese werden z. B. über ein Netzwerkprotokoll an einen Middleware-Treiber auf einem Anwendungsserver übertragen erst dieser Anwendungsserver transformiert die Befehle für die spezifischen Datenbankserver (DB2, MySQL oder andere) und leitet sie vollständig zur Datenbank durch Typ-3-Treiber sind somit nicht plattformspezifisch Typ-3-Treiber müssen nicht über den verwendeten Datenbankserver wissen bevorzugter Einsatz bei Internetprotokollen im Zusammenhang mit Firewalls (Abb. 4) |
| Typ-4-Treiber | hier werden die JDBC-API-Befehle direkt in DBMS-Befehle des jeweiligen Datenbankservers übersetzt arbeitet schneller als ein Typ-3-Treiber, jedoch nicht so flexibel geeignet für Intranet- und WAN-Lösungen, die schnelle Netzwerkverbindungen zur Verfügung stellen können (Abb. 5) |




