jar-File auswählen und Verbindung herstellen

Status
Nicht offen für weitere Antworten.

paedubucher

Aktives Mitglied
Hallo allerseits

Für ein Projekt benötige ich ein Modul, mit welchem man sich zu einem beliebigen DB-System connecten kann. Dabei habe ich folgende Vorstellungen:

1. Der Benutzer wählt in einem File-Dialog einen JDBC-Treiber aus (jar-Archiv).
2. Der Benutzer gibt Benutzernamen, Passwort und die URL an, um sich mit der DB zu verbinden
3. Der Benutzer klickt auf connect, die Verbindung sollte nun erstellt werden oder es werden Exceptions geworfen und ausgegeben...

Punkt 1 sollte relativ einfach zu erledigen sein, File-Dialoge gibt es ja bereits. Also eher eine GUI bzw. in meinem Beispiel SWT-spezifische Geschichte.

Punkt 2 kann nur der Anwender falsch machen, ist dann halt sein Problem ;-)

Bei Punkt 3 kommt dann mein Problem. Ich muss ja irgendwie im jar-File ermitteln, wo sich die eigentliche Treiberklasse befindet. Beim jdts-Treiber gebe ich ja z.B. folgendes an:

Code:
Class.forName("net.sourceforge.jtds.jdbc.Driver");

Wie bringe ich diesen String in Erfahrung? Ich habe schon mal was von Inspektion gehört. Kann man damit irgend sowas in der Art machen? Kann ich irgend nach einer Klasse in einem jar-File suchen, die ein bestimmtes Interface implementiert oder sowas in der Art? Bin mit JDBC leider auch nocht nicht so bewandert...

Wäre cool, wenn mir jemand ein paar Inputs geben könnte, wie ich diesen String im jar-File ermittle. Ich erwarte natürlich keinen Programmcode, den will ich ja schliesslich selber schreiben.

Danke & Gruss

paedubucher
 

Bleiglanz

Gesperrter Benutzer
das ist unmöglich, weil es keinen Standard dafür gibt? Glaub ich jedenfalls???

du könntest aber jede Klasse in dem jar schnell mal mit Class.ForName laden und dann mit

Class#isAssignableFrom(Class<?> cls)

testen, ob ein java.sql.Driver vorliegt oder nicht

(was anderes fällt mir jetzt auch nicht ein)
 

paedubucher

Aktives Mitglied
Bleiglanz hat gesagt.:
das ist unmöglich, weil es keinen Standard dafür gibt? Glaub ich jedenfalls???

du könntest aber jede Klasse in dem jar schnell mal mit Class.ForName laden und dann mit

Class#isAssignableFrom(Class<?> cls)

testen, ob ein java.sql.Driver vorliegt oder nicht

(was anderes fällt mir jetzt auch nicht ein)

Das geht leider etwas über meine Kenntnisse hinaus.

Ich kann zwar aus dem File-Dialog den Dateinamen ermitteln, wie ich aber dann weitergehe, ist mir ein Rätsel...
 

paedubucher

Aktives Mitglied
Bleiglanz hat gesagt.:
schau mal das Package java.util.jar an

Folgender Code gibt mir den Namen aller Elemente des jar-Archivs aus. Aber wie erhalte ich einen Klassennamen?

Code:
    Enumeration<JarEntry> entries = jar.entries();
    while(entries.hasMoreElements())
    {
      String item = entries.nextElement().toString();
      System.out.println(item);
    }

Wenn ich den Klassennamen dann hätte, würde ich es mit folgendem Code weiterprobieren:

Code:
    Class compare = Driver.class;
    Class temp = Class.forName(klassenname);
    if(temp.isAssignableFrom(driver))
    {
      // temp ist ein JDBC-Driver!!!
    }

Könnte das so funktionieren?
 

paedubucher

Aktives Mitglied
Ich habe mich dafür entschieden, dass ein JDBC-Treiber sich im CLASSPATH befinden muss, dass man ihn einbinden kann. Die Problematik hat sich also erledigt...
Wäre zuviel Code für so eine triviale Sache...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Oracle DB-Connection in .jar file ändern Datenbankprogrammierung 11
T The database file is locked Datenbankprogrammierung 2
Trèfle Adobe Acrobat Indexdatei (.PDX File) einlesen Datenbankprogrammierung 1
Dimax MySQL LOAD DATA INFILE -id aus dem Code und Rest aus dem File. Datenbankprogrammierung 5
E Warum kann mein SQL-File nicht in DB2 ausgeführt werden? Datenbankprogrammierung 1
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
S CSV File in Datenbank speichern!? Datenbankprogrammierung 1
Y DB File Synchronisation Datenbankprogrammierung 6
G PostgreSQL jar-file läd db-treiber nicht Datenbankprogrammierung 6
C XML file zu groß Datenbankprogrammierung 2
F Input txt File Datenbankprogrammierung 5
S File lesen Datenbankprogrammierung 10
J Jar File erstellen Datenbankprogrammierung 8
D CSV File als Datenbank verwenden (JDBC) Datenbankprogrammierung 4
E Dringend Hilfe Firebird/Jaybird verbindet nicht; im jar file Datenbankprogrammierung 4
A Zugriff auf Remote MySQL-DB mit JAR-File Datenbankprogrammierung 7
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
B JDBC txt File keine Row ID Datenbankprogrammierung 4
V mdb-file erstellen? Datenbankprogrammierung 20
M java.sql.SQLException: Unable to open file Datenbankprogrammierung 2
E Jar File: NoClassDefFoundError: oracle/sql/ORAData Datenbankprogrammierung 2
G File nach Blob konvertieren ? Datenbankprogrammierung 6
G How to put SQL query result into a file Datenbankprogrammierung 3
H File into blob Datenbankprogrammierung 3
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
T Schema auswählen Datenbankprogrammierung 2
G Datenbank auswählen Datenbankprogrammierung 2
J Eintrag aus der Spalte auswählen Datenbankprogrammierung 3
thor_norsk Keine Verbindung zum MySQL Server Datenbankprogrammierung 6
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
raptorrs Plötzlich keine Verbindung zur Datenbank mehr möglich Datenbankprogrammierung 14
OnDemand SSL Verbindung zu externer DB Datenbankprogrammierung 5
C MySQL Remote Verbindung zu MariaDB Datenbankprogrammierung 11
M SQL , CSV Verbindung : Zu Umfangreicher Code durch Unwissenheit Datenbankprogrammierung 21
P Verbindung zu einer Access Datenbank per Eclipse oder Intellij Datenbankprogrammierung 0
Z Beim schließen des Programms die verbindung zur DB beenden. Datenbankprogrammierung 4
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
V keine Verbindung möglich (Access-DB) Datenbankprogrammierung 3
H MySQL Verbindung Datenbank und Eclipse (Java) Datenbankprogrammierung 5
M Oracle SQLException: Verbindung getrennt Datenbankprogrammierung 2
S Verbindung von einer Excel Datei zu Java Datenbankprogrammierung 2
C Verbindung mit SQLExpress Datenbankprogrammierung 9
S E(fx)clipse Verbindung zu MS SQL Express aufbauen Datenbankprogrammierung 7
M H2 Verbindung zur Datenbank komplett schließen Datenbankprogrammierung 11
F MySQL Verbindung zum SQL-Server Datenbankprogrammierung 27
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
C datenbank verbindung config Datenbankprogrammierung 23
I MariaDB-Verbindung in JAVA Datenbankprogrammierung 11
J Verbindung aufbauen Datenbankprogrammierung 7
S DB2 Express C - keine Verbindung zur Datenbank Datenbankprogrammierung 2
I Es kann keine Verbindung zum Server aufgebaut werden Datenbankprogrammierung 12
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
W Keine ODBC-Verbindung zur MSAccess-Datenbank Datenbankprogrammierung 2
S Auslagern der Datenbank Verbindung Datenbankprogrammierung 2
M Verbindung von Java Programm zur Acccess Datenbank (mdb-Datei) Datenbankprogrammierung 0
D NullPointerException bei DB Verbindung Datenbankprogrammierung 6
AssELAss Verbindung i5 Series 7.1 / 7.2 (DB2) mit Oracle SQL Developer Datenbankprogrammierung 3
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
M MySQL Verbindung zum Server aufbauen ohne DB ansprechen Datenbankprogrammierung 2
D Java MS Access Verbindung Datenbankprogrammierung 10
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
A Verbindung mit Access 2007 Datenbank herstellen Datenbankprogrammierung 1
I Datenbank Verbindung geht nicht Datenbankprogrammierung 2
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
1 MySQL Verbindung mit localhost als IP funktioniert, aber mit normaler IP nicht Datenbankprogrammierung 2
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
Helgon H2 Verbindung öffnen/schließen - Dauer, wann, wie lange? Datenbankprogrammierung 2
J Verbindung zu Access Datenbank Datenbankprogrammierung 15
J Verbindung zu Datenbank herstellen Datenbankprogrammierung 26
P MySQL Verbindung nach außen sehr langsam Datenbankprogrammierung 4
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
T MySQL Sichere Verbindung Datenbankprogrammierung 6
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4
S Google Web Toolkit LDAP - Verbindung Datenbankprogrammierung 2
pg1337 Verbindung mit postgres - eclipse Datenbankprogrammierung 4
M Verbindung mit MSSQL hängt! Datenbankprogrammierung 2
cover1012 Derby/JavaDB Verbindung mit FTP-Server Datenbankprogrammierung 13
T NullPointerException bei Verbindung zur Datenbank Datenbankprogrammierung 4
J DB2 Verbindung zu AS400 Datenbankprogrammierung 6
F PostgreSQL JPA und Hibernate - Verbindung zur DB Datenbankprogrammierung 7
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
M MySQL getConnection - Verbindung Problem Datenbankprogrammierung 2
T mdb Verbindung ohne Registrierung der Datenquelle im OS Datenbankprogrammierung 14
K MySQL Verbindung funktioniert in Netbeans aber .jar funktioniert nicht Datenbankprogrammierung 5
jeppi MySQL Design-Problem: DB-Verbindung herstellen und halten - JdbcRowSet / Idle-Timeout? Datenbankprogrammierung 9
S Hibernate in Verbindung mit Hsql Datenbankprogrammierung 2
D Oracle Verbindung mit Java zu Datenbank Datenbankprogrammierung 8
F MSSQL-Server Verbindung Datenbankprogrammierung 5
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
DStrohma MS SQL Server 2005 + Java: Immer nur eine aktive Verbindung erlaubt? Datenbankprogrammierung 5
G MySQL Tables 1:1 verbindung Datenbankprogrammierung 14
B JDBC Verbindung mit Postgresql Datenbankprogrammierung 13
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
G JDBC-Verbindung: User wechseln Datenbankprogrammierung 2
F Kann keine Verbindung mit HSQLDB aufbauen Datenbankprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben