Guten Tag,
in unserer Anwendung wird die Verbindung zum SQL Server über ein Statement ausgeführt. Benutzername und Passwort werden mit dem Connection String übergeben.
Leider klappt es nicht mit Firebird. Hier ist ein Beispiel:
jdbc:firebirdsql://192.168.1.246:3050/C:\Program Files\Firebird\Firebird_2_5\EMODAT.FDB,user=SYSDBA,password=masterkey
Bitte um Hilfe, ob das möglich ist und wie die Formatierung aussehen muss?
Vielen Dank für die Hilfe im Voraus.
Beste Grüße
emeiler
SQL Statement mit Benutzername und Passwort
Moderator: thorben.braun
Statt Komma nimm ein Semikolon als Trenner der Verbindungseigenschaften.
Hallo,
danke für die Antwort. Das hat leider nicht geklappt.
Ich wollte etwas ausführen was ich durchführe:
Auf enem Windows Server ist eine Firebird 2.5 installiert.
Dort wurde eine Test-DB erstellt.
Wie im fb01.png dargestellt kann ich auf dem Windows Server mit dem C:\Program Files\Firebird\Firebird_2_5\bin>isql auf der Datenbank den query ausführen.
Auf einem Ubuntu ist unsere Anwendung installiert, mit der ich eine Verbindung und ein Query ausführen möchte. Der Treiber wurde unter https://firebirdsql.org/en/jdbc-driver/ heruntergeladen.
Diesen Treiber haben wir eingebunden: https://github.com/FirebirdSQL/jaybird/ ... DK_1.8.zip
Unter Tomcat\Logs erhalte ich aber folgende Fehlermeldung:
java.lang.ClassNotFoundException: org.firebirdsql.jdbc
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1928)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1771)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at eu.conatec.mobileforms.scheduler.LookupJob.load(LookupJob.java:196)
at eu.conatec.mobileforms.scheduler.LookupJob.refreshLookupData(LookupJob.java:138)
at eu.conatec.mobileforms.scheduler.LookupJob.execute(LookupJob.java:83)
at eu.conatec.mobileforms.scheduler.MFJob.execute(MFJob.java:46)
at eu.conatec.mobileforms.scheduler.impl.MFScheduler$1.run(MFScheduler.java:136)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Deshalb wollte ich über sqlite die Verbindung aubauen und testen.
Das habe ich unter Linux versucht und es hat auch nicht geklappt:
fb03.png
Unter dem Windows Server habe ich das auch verusucht und hat auch nicht geklappt.
fb02.png
Verwende ich den falschen Treiber?
Grüsse
Eduard
danke für die Antwort. Das hat leider nicht geklappt.
Ich wollte etwas ausführen was ich durchführe:
Auf enem Windows Server ist eine Firebird 2.5 installiert.
Dort wurde eine Test-DB erstellt.
Wie im fb01.png dargestellt kann ich auf dem Windows Server mit dem C:\Program Files\Firebird\Firebird_2_5\bin>isql auf der Datenbank den query ausführen.
Auf einem Ubuntu ist unsere Anwendung installiert, mit der ich eine Verbindung und ein Query ausführen möchte. Der Treiber wurde unter https://firebirdsql.org/en/jdbc-driver/ heruntergeladen.
Diesen Treiber haben wir eingebunden: https://github.com/FirebirdSQL/jaybird/ ... DK_1.8.zip
Unter Tomcat\Logs erhalte ich aber folgende Fehlermeldung:
java.lang.ClassNotFoundException: org.firebirdsql.jdbc
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1928)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1771)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at eu.conatec.mobileforms.scheduler.LookupJob.load(LookupJob.java:196)
at eu.conatec.mobileforms.scheduler.LookupJob.refreshLookupData(LookupJob.java:138)
at eu.conatec.mobileforms.scheduler.LookupJob.execute(LookupJob.java:83)
at eu.conatec.mobileforms.scheduler.MFJob.execute(MFJob.java:46)
at eu.conatec.mobileforms.scheduler.impl.MFScheduler$1.run(MFScheduler.java:136)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Deshalb wollte ich über sqlite die Verbindung aubauen und testen.
Das habe ich unter Linux versucht und es hat auch nicht geklappt:
fb03.png
Unter dem Windows Server habe ich das auch verusucht und hat auch nicht geklappt.
fb02.png
Verwende ich den falschen Treiber?
Grüsse
Eduard
- Dateianhänge
-
- fb03.png (60.66 KiB) 40336 mal betrachtet
-
- fb02.png (39.7 KiB) 40336 mal betrachtet
-
- fb01.png (26.35 KiB) 40336 mal betrachtet
Classnotfound-exception bedeutet, dass der Treiber im Classpath nicht aufgeführt ist.
Du musst ein Zip-Datei im Classpath, wie jedes andere Verzeichnis auch, ergänzen.
U.U. ist der Treiber noch zu registrieren:
https://www.baeldung.com/java-jdbc-loading-drivers
Für die Verbindungseigenschaften bleibts aber trotzdem beim Semikolon.
User und Kennwort kannst du aber auch in getConnection direkt angeben.
https://alvinalexander.com/java/jdbc-co ... sqlserver/
Du musst ein Zip-Datei im Classpath, wie jedes andere Verzeichnis auch, ergänzen.
U.U. ist der Treiber noch zu registrieren:
https://www.baeldung.com/java-jdbc-loading-drivers
Für die Verbindungseigenschaften bleibts aber trotzdem beim Semikolon.
User und Kennwort kannst du aber auch in getConnection direkt angeben.
https://alvinalexander.com/java/jdbc-co ... sqlserver/
Hallo Eduard,
Kleinigkeiten: Du kannst das ganze etwas handlicher/sicherer gestalten, wenn Du den Pfad zur Datenbank als Alias in der aliases.conf einträgst:
Dann kannst Du die DB in clients über den Alias emodat ansprechen. Würde außerdem die Datenbank nicht ins Binärverzeichnis des Datenbankservers packen, sondern woanders hin, Trennung von Code und Daten, damit Du beides separat ohne Probleme verwalten/verändern kannst.
Grüße, Volker
Kleinigkeiten: Du kannst das ganze etwas handlicher/sicherer gestalten, wenn Du den Pfad zur Datenbank als Alias in der aliases.conf einträgst:
Code: Alles auswählen
emodat=C:\Program Files\Firebird\Firebird_2_5\EMODAT.FDB
Grüße, Volker