Datenbanken Sommersemester 2026
Vorbereitung: VPN-Verbindung
Auf Privatrechnern muss eine VPN-Verbindung gemäß https://doku.cs.hs-rm.de/doku.php?id=openvpn aufgebaut werden
(Anmeldung mit Fachbereich-Login).
Mit dem "Checkpoint"-Client der Hochschule funktioniert es nicht, es muss OpenVPN sein!
Unter Windows erkennt ihr den richtigen VPN-Client daran, dass er dieses Symbol im Benachrichtigungsbereich auftaucht.

Ist man im Campus-WLAN eingewählt, ist der Zugriff ebenfalls nicht möglich - auch hier muss eine VPN-Verbindung aufgebaut werden.
Installation SquirrelSQL
Download: https://sourceforge.net/projects/squirrel-sql/files/1-stable/5.1.0-plainzip/
(nehmt den Download "squirrelsql-5.1.0-standard.zip" - wir sind ja Profis und brauchen deshalb keine Installer). Das wird irgendwohin entpackt.
Es wird eine Java Runtime 17 oder neuer benötigt.
Gestartet wird SquirrelSQL durch Ausführen der Datei "squirrel-sql.bat" bzw. unter Linux/Mac über die entsprechenden Shell-Scripte.
Achtung:
Auf den Rechner der Hochschule startet der selbst heruntergeladene SquirrelSQL 5.1.0 nicht mit dieser Fehlermeldung (die dort installierten Versionen laufen aber):

Die aktuelle SquirrelSQL-Version unterstützt nicht Java 26.
Lösung: auf den Hochschulrechner ist außerdem u.a. Java 21 installiert.
Deshalb in einer Shell mittels dieses Befehls die Umgebungsvariable "JAVA_HOME" auf den Pfad zu Java 21 einstellen:
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64/
In der
gleichen Shell dann SquirrelSQL aufrufen durch Ausführen von "squirrel-sql.sh"
Bevor wir SquirrelSQL nutzen können, muss noch der MariaDB-Treiber heruntergeladen werden.
Die neueste Version findet man unter https://mariadb.com/downloads/connectors/.
Wählt das Product "Java 8+ connector" und Version "3.5.8-GA":
Dann ladet die Datei "mariadb-java-client-3.5.8.jar" herunter.
Die JAR-Datei speichert ins Unterverzeichnis "lib" von SquirrelSQL. Dadurch erkennt SquirrelSQL den Driver automatisch.
Startet SquirrelSQL neu und klickt dann links auf "Drivers": jetzt hat der Eintrag "MariaDB Driver for MySQL and MariaDB" einen blauen Haken. Ist das nicht der Fall, wurde etwas
falsch gemacht ;-).

Falls der Driver dort nicht auftaucht, wurde er nicht korrekt erkannt. Dann muss man ihn händisch registrieren: den Driver wählen, Rechtsklick und "Modify Driver".
Man geht auf den Karteireiter "JDBC Driver Class Path" und ...
- klickt dort auf "Add". Die MariaDB-JAR-Datei auswählen
- Danach auf "List Drivers" klicken.
- Jetzt wird unten in der Combobox "Class Name" der "org.mariadb.jdbc.Driver" als einziger Eintrag angezeigt.
- Auf "OK" klicken.
Jetzt hat der Driver einen blauen Haken.

Auf den Karteireiter "Aliases" klicken und dort auf "+":

Wählen den Driver "MariaDB Driver for MySQL and MariaDB" und tragt im Feld "URL" den Text jdbc:mariadb://mariadb1/username ein. Statt "username" gebt ihr natürlich euren Fachbereich-Login an.
Der Username bedeutet hier, dass SquirrelSQL sich automatisch mit dieser Datenbank verbindet.
Das Feld ist vorbelegt mit jdbc:mariadb://host:3306/database.
Alternativ geht auch die IP (jdbc:mariadb://10.18.40.223/username) oder der voll qualifizierte Servername (jdbc:mysql://mariadb1.local.cs.hs-rm.de/username).
Benutzername und Passwort sind der Fachbereich-Login (nicht der Hochschul-Login!)

Jetzt auf "Test" klicken, um die Verbindung zu testen.
Wenn die Verbindung zur Datenbank über die VPN-Verbindung aufgebaut wird, kommt eine Fehlermeldung "Connections using insecure transport are prohibited while --require_secure_transport=ON.":

Lösung:
An die URL
?sslMode=verify-ca anhängen:
jdbc:mariadb://mariadb1/knauf?sslMode=verify-ca
Alternativ (führt zum gleichen Ergebnis) könnte man es auch in die Properties der Verbindung eintragen:

Dort auf dem Karteireiter "Driver properties" bei "sslMode" den Haken in der Spalte "Specify" setzen und den Value "verify-ca" eintragen:
Nach dem ersten Start ist das Fensterlayout "ungünstig": das Abfrage-Ausführen-Fenster ist ziemlich winzig (gelber Hintergrund - im Screenshot rot markiert).
Das muss man sich größer ziehen.

Zum Ausführen von Abfragen klickt man auf den markierten Button - das führt den markierten Text aus.
Sinnvolle Einstellungen
In der Standardeinstellung zeigt SquirrelSQL nicht die Spalten-Aliasse in den Ergebnissen an. Beispiel-Abfrage:
select name as Name1, name as Name2 from Eis;
Die Ergebnisanzeige gibt trotzdem zweimal den Wert "name" aus:

Dies kann man per Einstellung ändern: unter Menü "File" => "Global Preferences" wird der Karteireiter "Data Type Controls" gewählt und dort
der Haken "Use column labels instead of column names in result headers" gesetzt:

Jetzt werden die gewünschten Spaltennamen angezeigt:

Statement Separator / Delimiter
Für Blatt 10 ist in der Aufgabenstellung ein Hinweis darauf, den Delimiter umzustellen:
DELIMITER //
Dieser Befehl funktioniert nur im MariaDB-Kommandozeilenclient. Bei SquirrelSQL führt er zu einer Fehlermeldung.
Hier muss der Trenner im Menü "Session" ==> "Session Properties" umgestellt werden. Die Einstellung liegt auf dem Karteireiter "SQL" und heißt "Statement Separator".
Das Semikolon wird z.B. durch "//" ersetzt:

Blatt 11: Datenbankzugriff per Java
Hier ein Link zur Java-Doku: Processing SQL Statements with JDBC.
Stand 27.05.2026
Historie:
11.05.2023: Erstellt aus Vorjahresanleitung
17.05.2023: Lösung für Java 19-Fehler an Hochschulrechnern überarbeitet (Verwendung des installierten Java 11 statt Download einer eigenen Version).
22.05.2024: Angepasst an den Stand 2024
25.05.2024: "sslMode"
23.05.2025: Angepasst an den Stand 2025
08.07.2025: Link zur Java-Doku für Datenbankzugriffe
23.05.2026: Angepasst an den Stand 2026
27.05.2026: auf den Hochschulrechnern läuft SquirrelSQL 5.1.0 wegen Java 26 nicht