Hallo,
ich habe vor kurzem mit dem Javaprogrammieren begonnen. Nun möchte ich gerne mit der JavaDB bzw. Apache Derby arbeiten. Leider bekomme ich es aus irgendeinem Grund nicht hin das mein Javaprogramm den Datenbanktreiber lädt.
Mein Netbeans gibt mir folgenden Fehler aus:
Die CLASSPATH Variable habe ich auf die derby.jar und die derbytools.jar gelegt. Wenn ich auf der Kommandozeile derby mit dem befehl
teste, bekomme ich auch gezeigt, dass derby richtig eingerichtet ist.
Ich hoffe ihr könnt mir sagen warum dieser Code nicht läuft.
Vielen Dank schonmal!
Gruß
Tocco
ich habe vor kurzem mit dem Javaprogrammieren begonnen. Nun möchte ich gerne mit der JavaDB bzw. Apache Derby arbeiten. Leider bekomme ich es aus irgendeinem Grund nicht hin das mein Javaprogramm den Datenbanktreiber lädt.
Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class DBTest {
static Connection conn;
public static void main(String[] args) {
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String connectionURL = "jdbc:derby:testdb;create=true";
String createString = "CREATE TABLE Employee (NAME VARCHAR(32) NOT NULL, ADDRESS VARCHAR(50) NOT NULL)";
try {
Class.forName(driver);
} catch (java.lang.ClassNotFoundException e) {
e.printStackTrace();
}
try {
conn = DriverManager.getConnection(connectionURL);
Statement stmt = conn.createStatement();
stmt.executeUpdate(createString);
PreparedStatement psInsert = conn.prepareStatement("insert into Employee values (?,?)");
psInsert.setString(1, args[0]);
psInsert.setString(2, args[1]);
psInsert.executeUpdate();
Statement stmt2 = conn.createStatement();
ResultSet rs = stmt2.executeQuery("select * from Employee");
int num = 0;
while (rs.next()) {
System.out.println(++num + ": Name: " + rs.getString(1) + "\n Address" + rs.getString(2));
}
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Mein Netbeans gibt mir folgenden Fehler aus:
Code:
run:
java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Main.main(Main.java:16)
java.sql.SQLException: No suitable driver found for jdbc:derby:testdb;shutdown=true
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at Main.main(Main.java:27)
ERSTELLEN ERFOLGREICH (Gesamtzeit: 0 Minuten 0 Sekunden)
Die CLASSPATH Variable habe ich auf die derby.jar und die derbytools.jar gelegt. Wenn ich auf der Kommandozeile derby mit dem befehl
Code:
java org.apache.derby.tools.sysinfo
Ich hoffe ihr könnt mir sagen warum dieser Code nicht läuft.
Vielen Dank schonmal!
Gruß
Tocco