Hallo,
ich habe mich wieder mal an die Datenbanken rangewagt, und mal dieses Tutorium benutzt. Klappt alles soweit fehlerfrei, kann die Datenbank anpingen. Allerdings, wenn ich versuche die Datenbank mit Java anzusprechen kommen Fehlermeldungen.
ich habe mich wieder mal an die Datenbanken rangewagt, und mal dieses Tutorium benutzt. Klappt alles soweit fehlerfrei, kann die Datenbank anpingen. Allerdings, wenn ich versuche die Datenbank mit Java anzusprechen kommen Fehlermeldungen.
Java:
import java.sql.*;
public class test {
private static String dbURL = "jdbc:derby:/home/valentin/MyDB;create=true";
private static String tableName = "buchverwaltung.buecher";
// jdbc Connection
private static Connection conn = null;
private static Statement stmt = null;
public static void main(String[] args) {
createConnection();
insertBuecher(3, "978-3-86870-393-1", "W. Honekamp", "ReDiRoma", 2011, 194,"Görlitz");
selectBuecher();
shutdown();
}
private static void createConnection() {
try {
Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
//Konnektivität herstellen
conn = DriverManager.getConnection(dbURL);
} catch (Exception except) {
except.printStackTrace();
}
}
private static void selectBuecher() {
try {
stmt = conn.createStatement();
ResultSet results = stmt.executeQuery("select * from " + tableName);
ResultSetMetaData rsmd = results.getMetaData();
int numberCols = rsmd.getColumnCount();
for (int i=1; i<=numberCols; i++) {
//print Column Names
System.out.print(rsmd.getColumnLabel(i)+"tt");
}
System.out.println("n--------------------------------------------------------------------------------");
while(results.next()) {
int id = results.getInt(1);
String isbn = results.getString(2);
String autor = results.getString(3);
String verlag = results.getString(4);
int jahr = results.getInt(5);
int seiten = results.getInt(6);
String standort = results.getString(7);
System.out.println(id + "tt" + isbn + "tt" + autor + "tt" + verlag + "tt" + jahr + "tt" + seiten + "tt" + standort);
}
results.close();
stmt.close();
} catch (SQLException sqlExcept) {
sqlExcept.printStackTrace();
}
}
private static void shutdown() {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
DriverManager.getConnection(dbURL + ";shutdown=true");
conn.close();
}
} catch (SQLException sqlExcept) {
}
}
private static void insertBuecher(int id, String isbn, String autor, String verlag, int jahr, int seiten, String standort) {
try {
stmt = conn.createStatement();
String sqlstring = "insert into " + tableName + " values " + "(" + id + ",'" + isbn + "','" + autor + "','" + verlag + "'," + jahr + "," + seiten + ",'" + standort +"')";
// System.out.println(sqlstring);
stmt.execute(sqlstring);
stmt.close();
} catch (SQLException sqlExcept) {
sqlExcept.printStackTrace();
}
}
}
Code:
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:191)
at test.createConnection(test.java:48)
at test.main(test.java:29)
Exception in thread "main" java.lang.NullPointerException
at test.insertBuecher(test.java:191)
at test.main(test.java:31)
Zuletzt bearbeitet von einem Moderator: