Java: Datenbankprogrammierung

Open-Database-Connectivity-Konzept

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Das Open-Database-Connectivity-Konzept von Microsoft stellt eine neutrale Treiberschnittstelle zur Verfügung, womit über einen symbolischen Namen auf eine Datenbank zugegriffen werden kann.
06:50

Transkript

In diesem Video kümmern wir uns um den Zugriff auf Datenbanken wie Access oder Excel. Oder allgemeiner gesagt, wir wollen einen Zugriff über eine Technik zeigen, die ODBC genannt wird. ODBC ist von Microsoft. Ein ähnliches Konzept wie JDBC. Das ist eine neutrale Schnittstelle, eine Treiber-Schnittstelle, um auf Datenbanken über einen symbolischen Namen zuzugreifen. ODBC steht für Open Database Connectivity. Und in der Systemsteuerung von Windows, in diesem Fall hier ist das Windows 7 64-Bit, finden Sie die Möglichkeit hier ODBC zu suchen. Und dann kommen Sie an eine Verwaldungs-Oberfläche, um hier symbolische Namen für Access- oder Excel-Datenbanken, Dateien quasi in diesem Fall, einzurichten. Also es gibt hier die Möglichkeit einen Access-Treiber einzurichten. Den kann man konfigurieren. Das habe ich jetzt schon einmal gemacht. Man gibt hier einen symbolischen Namen ein, wählt hier über 'Auswählen' eine physikalische Access-Datei aus, oder auch durchaus eine Excel-Datei, wenn wir einen Excel-Treiber einrichten. Und fertig ist die Geschichte. Das heißt, Sie haben dann einen symbolischen Namen zur Verfügung, auf den Sie aus Java heraus auf diese Datei zugreifen können. Das sieht dann etwa so aus. Sie sehen keine großen Unterschiede zum Zugriff auf eine MySQL-Datenbank, außer dass wir jetzt hier für den URL JDBD:ODBC statt MySQL haben und dann direkt mit Doppelpunkt diesen symbolischen Namen aussprechen, statt jetzt eine Hochstruktur. Man redet hier auch von der so genannten JDBC:ODBC-Bridge. Eine Brücke von dem neutralen Java-Datenbanktreiber auf diesen proprietären Windows-Treiber für dort angemeldete Datenbanken. Aber wenn Sie diesen URL bei getConnection als Parameter verwenden, können Sie dann z.B. ein SQL-Statement mit Select abschicken, sofern es jetzt hier so eine Tabelle namens Tabelle1 gibt. Und dann ganz klassisch über den ResultSet iterieren, oder Sie können auch Daten eintragen, was man so alles machen kann. Auch auf einer echten Datenbank, sprich einem echten Datenbankmanagementsystem. Das funktioniert eigentlich auch so schon seit gefühlten Ewigkeiten, also Mitte der 90-er Jahre, den Anfangszeiten von Java. Da ging das eigentlich schon. Nur wenn wir jetzt dieses Beispiel mal ausführen, wird es nicht funktionieren. Und das Problem ist nicht etwa, dass hier im Java-Code etwas falsch ist. Diese Meldung: Der angegebene DSN weist eine nicht übereinstimmende Architektur von Treiber und Anwendung auf! Diese Meldung und ähnlich lautende Meldungen, auch in anderen Sprachen, deuten auf ein Problem zwischen einer 32-Bit- und einer 64-Bit-Welt hin. Es ist leider so, dass diese ODBC-Treiber gerade auf 64-Bit-Systemen etwas, vorsichtig ausgedrückt, seltsam implementiert werden, bwz. auch etwas seltsam verwaltet werden. Man muss eine erhebliche Anstrengung vornehmen und wie ein Schießhund aufpassen, dass man nicht mit dem falschen Treiber versucht, auf eine Access-Datenbank, auf eine Excel-Tabelle oder so zuzugreifen. Es ist insgesamt sehr unglücklich gelöst, wenn man sieht, wie viele Hilferufe es dazu im Internet gibt. Die Foren quellen über, weil Leute nicht mit diesen verschiedenen Architekturen klarkommen. Das ganze Problem beginnt bereits damit, dass es sowohl in System 32 von Windows eine Administration für die ODBC-Datenquellen gibt, aber auch im Verzeichnis SysWOW64. Und beide sind dummerweise noch gleich genannt. Sie sind aber nicht dasselbe. Denn Sie werden merken, wenn ich hier versuche, diese eben gezeigte Struktur, diesen Treiber zu verwalten, dann klappt das hier nicht mit dieser ODBC-Verwaltung, die ich über SysWOW64 aufgerufen habe. Und dieser Fehler, der hier auftaucht, ist im Grunde der gleiche, der auch hinter meinem Zugriff aus Java gelegen hat. Es knallt zwischen 32-bit und 64-bit. Das Dumme ist jetzt, dass man gar nicht so genau weiß, welche der beiden Verwaltungen über die Systemsteuerung aufgerufen werden. Ein Nachteil dieser Maus-orientierten Administration. Man muss also, gegebenenfalls, gerade wenn man auf Access zugreifen möchte, oder Excel, und dieses Treiber- Problem bekommt, die jeweils andere ODBC-Verwaltung nehmen. Also die 32-bit unter System32. Es kann auch umgekehrt sein. Meines Wissens. Es ist, wie gesagt, sehr undurchsichtig. Aber irgendwie kann man diesen Treiber dann mit einer dieser beiden Verwaltungen einrichten. Das löst noch nicht das Problem, was wir in Java haben. Denn da gibt es aus 64-bit heraus eben besagtes Problem, dass wir hier auch diese Meldung weg kriegen müssen und dass wir dann auf die Datenbank zugreifen wollen. Im Code gibt es nichts zu ändern. Wir müssen in den Project Properties sicher stellen, dass man die richtige Java-Runtine-Enviroment nimmt. Das heißt, Sie müssen gegebenenfalls schauen, welche JREs auf Ihrem System installiert sind. Und entweder die nehmen, die sich unter Program Files (x86) befindet, oder eben die, die sich im normalen Program Files befindet. Es ist dummerweise ein bisschen Try And Error. Aber wenn das dann zusammenpasst, sollte auch die Abfrage auf Access gehen. Leider, wie ich finde, nicht konsistent und auch nicht streng logisch, allein von der Namensgebung her, nachzuvollziehen. Aber mit bisschen Probieren, dass das zusammenpasst, sollte es möglich sein, dass Sie nach diesem Video auch auf Access-Datenbanken, auch in einer 64-bit-Umgebung zugreifen können.

Java: Datenbankprogrammierung

Machen Sie sich in diesem Training mit den Grundlagen zu Datenbanken im Allgemeinen vertraut, um anschließend mit Java ein einfaches, erstes Datenbankbeispiel zu programmieren.

2 Std. 13 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:11.03.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!