Datenbankschnittstellen

Anfang  Zurück  Vor

Letzte Änderung 23.06.2016

 

In Java erfolgen Datenbankzugriffe über JDBC (Java Database Connectivity), einer universellen Datenbankschnittstelle der Java Plattform (Java Standard Edition) für alle relationalen Datenbanken. Jeder Datenbankhersteller der Java unterstützt, muss eigene JDBC-Treiber zur Verfügung stellen, welche die JDBC-Spezifiktion implementieren. Über den JDBC-Standard hinaus gibt es jedoch erhebliche Unterschiede zwischen den verschiedenen Datenbanken, u.a. bei

Datentypen - Die von Datenbanken verwendeten Datentypen weichen oft vom SQL-Standard ab, insbesondere bei der Namensgebung sowie beim Wertebereich, oder werden nur von der jeweiligen Datenbank verwendet. JDBC abstrahiert deshalb sämtliche Datentypen und wandelt diese in Java-Datentypen um. Einzelne Datentypen werden jedoch von JDBC nicht erfasst.

SQL-Syntax - Die SQL-Syntax zur Formulierung von Datenbankabfragen weicht bei vielen Datenbanken z.T. sehr stark vom SQL-Standard ab. U.a. gibt es Unterschiede bei der Bezeichnung und Reihenfolge von SQL-Schlüsselwörter.

Funktionen - Viele Datenbanken handhaben wichtige Datenbankfunktionen z.T. sehr unterschiedlich, z.B. die Vergabe von Autowerten.

Stored Procedures - Vor allem bei der Programmierung von Stored Procedures sind die Unterschiede zwischen den verschiedenen Datenbanken z.T. sehr groß.

 

Auf Grund dieser Unterschiede sind die meisten Datenbanken zueinander inkompatibel. Anwendungsentwickler, die mehrere Datenbanken unterstützen möchten, müssen ihren Abfragecode i.d.R. für jede Datenbank optimieren und aufwändig testen. Um dies weitestgehend zu vermeiden, stellt XDEV 5 für alle wichtige Datenbanken zusätzliche Datenbankschnittstellen zur Verfügung, welche sämtliche Unterschiede zwischen unterstützten Datenbanken über den JDBC Standard hinaus durch eine weitere Abstraktion ausgleichen. Dazu werden die JDBC-Datentypen (Java-Datentypen) sowie von JDBC nicht erfasste Datentypen in Xdev-Datentypen umgewandelt. Dadurch wird eine erheblich verbesserte Datenbankunabhängigkeit erreicht. Bei einem Datenbankwechsel oder bei der Anbindung neuer Datenbanken an eine XDEV 5 Anwendung müssen somit keine Anpassungen mehr im Programmcode vorgenommen werden. Dies spart Entwicklungszeit und vermeidet eine erhebliche Fehlerquelle.