Hallo Leute,
ich lerne gerade mit einem Buch aus der Bibliothek wie Java mit Datenbanken funktioniert, scheitere aber bereits bevor es losgeht an der Verbindung zur DB.
Immer wenn ich versuche den Code, den ich aus dem Buch habe ausführe bekomme ich eine ClassNotFound Exception und der Compiler sagt mir er könnte die Klasse nicht laden. Derby sollte ich über "C:\> set CLASSPATH=C:\Program Files\Java\jdk1.8.0_31\db\lib\derby.jar;C:\Program Files\Java\jdk1.8.0_31\db\lib\derbytools.jar;" , was ich in die Kommandozeile eingegeben habe bereits im Classpath drin haben, oder?
Habe mir wie hier im Forum in anderen Threads beschrieben die Dokumentation (https://db.apache.org/derby/papers/DerbyTut/embedded_intro.html) angesehen, weiß aber trotzdem nicht wo das Problem liegt.
Könnt ihr mir weiterhelfen?
Grüße und Dank im vorraus,
kamm12
ich lerne gerade mit einem Buch aus der Bibliothek wie Java mit Datenbanken funktioniert, scheitere aber bereits bevor es losgeht an der Verbindung zur DB.
Immer wenn ich versuche den Code, den ich aus dem Buch habe ausführe bekomme ich eine ClassNotFound Exception und der Compiler sagt mir er könnte die Klasse nicht laden. Derby sollte ich über "C:\> set CLASSPATH=C:\Program Files\Java\jdk1.8.0_31\db\lib\derby.jar;C:\Program Files\Java\jdk1.8.0_31\db\lib\derbytools.jar;" , was ich in die Kommandozeile eingegeben habe bereits im Classpath drin haben, oder?
Habe mir wie hier im Forum in anderen Threads beschrieben die Dokumentation (https://db.apache.org/derby/papers/DerbyTut/embedded_intro.html) angesehen, weiß aber trotzdem nicht wo das Problem liegt.
Könnt ihr mir weiterhelfen?
Grüße und Dank im vorraus,
kamm12
Java:
public class Base_1 {
private final static String ERSTELLE_TABELLE_ANWEISUNG = -SQL-Anweisung-;
private static Connection erstelleVerbindung() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
Connection verbindung = DriverManager.getConnection("jdbc:derby:c:/datenbank/db1; create=true");
return verbindung;
}
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
try(Connection verbindung = erstelleVerbindung()) {
Statement anweisung = verbindung.createStatement();
anweisung.executeUpdate(ERSTELLE_TABELLE_ANWEISUNG);
anweisung.close();
} catch (ClassNotFoundException e) {
System.err.println("Datenbank Treiber nicht gefunden");
e.printStackTrace();
} catch (SQLException e) {
System.err.println("SQL Fehler");
}
}
}
Code:
Datenbank Treiber nicht gefunden
java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at Base_1.erstelleVerbindung(Base_1.java:22)
at Base_1.main(Base_1.java:31)
Zuletzt bearbeitet von einem Moderator: