Derby

Status
Nicht offen für weitere Antworten.

java_1985

Mitglied
will ein Beispielprogramm ablaufen lassen welches eine Derby Datenbank an Java anbindet. Funktioniert leider nicht. Habe in der Umgebungsvariable die derby.jar Datei rein geschrieben. Funktioniert leider immer noch nicht bitte um Hilfe.

folgende Fehlermeldung taucht auf:

Java:
java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	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.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at DatabaseLab.main(DatabaseLab.java:17)
 

java_1985

Mitglied
Das Beispielcoding ist hier:

Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
 
/**
 * @author Tom
 */
public class DerbyEmbeddedDatabaseExample {
 
  /**
   * @param args
   */
  public static void main(String[] args) throws Exception {
    Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    Properties properties = new Properties();
    properties.put("user", "user1");
    properties.put("password", "user1");
    Connection connection = DriverManager.getConnection("jdbc:derby:c:/TEMP/tutorialsDB;create=true", properties);
 
    createTableTestIfItDoesntExistYet(connection);
    populateTableTestIfItHasNotBeenPopulatedYet(connection);
    showContentsOfTableTest(connection);
   
    connection.close();
  }
 
  /**
   * @param connection
   * @throws SQLException
   */
  private static void showContentsOfTableTest(Connection connection) throws SQLException {
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery("SELECT * FROM test");
    int columnCnt = resultSet.getMetaData().getColumnCount();
    boolean shouldCreateTable = true;
    while (resultSet.next() && shouldCreateTable) {
      for(int i = 1; i <= columnCnt;i++){
        System.out.print(resultSet.getString(i) +  " ");
      }
      System.out.println();
    }
    resultSet.close();
    statement.close();
  }
 
  private static void populateTableTestIfItHasNotBeenPopulatedYet(Connection connection) throws Exception {
 
    boolean shouldPopulateTable = true;
    Statement statement = connection.createStatement();
    ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM test");
    if (resultSet.next()) {
      shouldPopulateTable = resultSet.getInt(1) == 0;
    }
    resultSet.close();
    statement.close();
 
    if (shouldPopulateTable) {
      System.out.println("Populating Table test...");
      PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO test VALUES (?,?)");
      String[] data = { "AAA", "BBB", "CCC", "DDD", "EEE" };
      for (int i = 0; i < data.length; i++) {
        preparedStatement.setInt(1, i);
        preparedStatement.setString(2, data[i]);
        preparedStatement.execute();
      }
      preparedStatement.close();
    }
  }
 
 
  private static void createTableTestIfItDoesntExistYet(Connection connection) throws Exception {
    ResultSet resultSet = connection.getMetaData().getTables("%", "%", "%", new String[] { "TABLE" });
    int columnCnt = resultSet.getMetaData().getColumnCount();
    boolean shouldCreateTable = true;
    while (resultSet.next() && shouldCreateTable) {
      if (resultSet.getString("TABLE_NAME").equalsIgnoreCase("TEST")) {
        shouldCreateTable = false;
      }
    }
    resultSet.close();
    if (shouldCreateTable) {
      System.out.println("Creating Table test...");
      Statement statement = connection.createStatement();
      statement.execute("create table test (id int not null, data varchar(32))");
      statement.close();
    }
  }
}

ist es egal wo die derby.jar Datei ist???
In Umgebungsvariable habe ich als Systemvariable folgendes eingegeben:

C:\Programme\Java\jdk1.6.0_14\lib\derby.jar
 

ralfgc

Mitglied
Hallo,

ja es ist egal wo das jar liegt ABER die JVM muss wissen wo sie ist. die jar muss also
im classpath sein. Das kannst du bspw. mit dem Parameter "-cp" erreichen,
welches du an das Kommando "java" beim Aufruf ranhängst. Hast du ein
jar-file deines Programms erzeugt, kannst du dies dort im Manifest angeben.

Und so in der Entwicklungsumgebung ist das nat. von Umgebung zu Umgebung
verschieden. Welche nutzt du denn? Eclipse?

mfG
 

java_1985

Mitglied
Nein ich habe keine jar Datei erzeugt ich arbeite mit Eclipse bin noch ein Anfänger deswegen kenne ich mich nicht so aus wie hänge ich das denn an der Java Datei -cp???
 

ralfgc

Mitglied
Hi,

unter Eclipse kannst du die lib folgendermaßen hinzufügen.
Rechte Maustaste auf dein Projekt -> Properties
dann links "Java Build Path" auswählen, in den Reiter "Libaries" gehen,
und auf "Add Jars..." klicken und dann deine jar auswählen.

-cp ist ein Parameter für die JVM, also das Programm "java" was man auf der
Konsole eingeben kann (wenn das bin verzeichnis im PATH ist).
Mit dem Parameter kannst du libs in den Classpath setzen, so das er die
Bibliothek bei der Programmausführung auch findet. bspw: java -cp ../mein.jar MeinProgramm

mfG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk Datenbank: Apache Derby Datenbankprogrammierung 6
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
F Derby Datenbankprogrammierung 5
T importierte Derby DB währen der Laufzeit einlesen Datenbankprogrammierung 2
L Derby/JavaFX Fehlermeldung Datenbankprogrammierung 3
R findet Derby.DB nicht !? Datenbankprogrammierung 5
K Eclipse Apache Derby Treiber Problem Datenbankprogrammierung 4
J Derby/JavaDB Datenbankanbindung Eclipse und Derby Datenbankprogrammierung 7
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
J Verbindung zu Derby Datenbank funktioniert nicht Datenbankprogrammierung 14
T Datenbankfeld in Derby 255 Zeichen Datenbankprogrammierung 3
M Derby/JavaDB Derby SQL Insert mit AUTO_INCREMENT, welche ID wurde vergeben? Datenbankprogrammierung 6
C Derby auf Server Datenbankprogrammierung 6
R derby : in squirrel url zu db von tomcat Datenbankprogrammierung 4
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
H Probleme mit Unicodedarstellung in Derby DB Datenbankprogrammierung 1
S Dringend Netbeans Derby DB random() function Datenbankprogrammierung 6
M HSQLDB oder DERBY - warum SCRIPT Datei? Datenbankprogrammierung 0
B Derby/JavaDB Einrichten der Derby DB / JAVA DB Datenbankprogrammierung 2
A Eclipse + Derby + Delete Row Datenbankprogrammierung 3
D Derby Datenbank bei Export zu JAR-Datei nicht möglich Datenbankprogrammierung 8
D Embedded Derby Datenbank Datenbankprogrammierung 4
reibi Derby/JavaDB Derby DB löschen Datenbankprogrammierung 5
L Derby Datenbank speichert nicht Datenbankprogrammierung 9
N Query für Derby DB mit Enterbrise Bean Datenbankprogrammierung 4
S Derby/JavaDB Derby zu MySQL Datenbankprogrammierung 6
H Derby/JavaDB Eine verschlüsselte Derby-Datenbank wieder entschlüsseln Datenbankprogrammierung 4
G Derby/H2 Welches u. Wie installieren/verwenden? Datenbankprogrammierung 10
L Derby/JavaDB Derby macht Probleme Datenbankprogrammierung 4
zilti Derby/JavaDB EclipseLink und Derby: "Abschneidefehler" bei @Lob Datenbankprogrammierung 2
B Derby Databankabfrage liefert Ergebnisse nicht korrekt Datenbankprogrammierung 2
H Derby SQL-Abfragen in Datei abspeichern Datenbankprogrammierung 2
H Flat Files in Derby importieren Datenbankprogrammierung 3
reibi Derby/JavaDB Derby russty manager deaktivieren Datenbankprogrammierung 3
L Derby Dezimal-Spalte die Größe ändern Datenbankprogrammierung 2
D PostgreSQL vs Firebird vs Derby Datenbankprogrammierung 12
P Zugreifen auf Derby Datenbank mit java (ÜBERARBEITET) Datenbankprogrammierung 2
R Lokale Derby in einer JPA-Anwendung Datenbankprogrammierung 3
S Derby ein zweites mal als Read-only öffnen Datenbankprogrammierung 9
M Derby insert, ID auslesen Datenbankprogrammierung 3
S Derby Datenbank "offline" und "online" Datenbankprogrammierung 5
L Apache Derby Management-Tool Datenbankprogrammierung 3
A JavaDB(Derby) als ODBC-Datenquelle eintragen Datenbankprogrammierung 4
T Derby und Foreign Keys Datenbankprogrammierung 4
I JAVADB (Derby) OneToMany Datenbankprogrammierung 2
T Zugriff auf Derby-Datenbank will einfach nicht klappen Datenbankprogrammierung 22
M Gelöst: JavaDB - Derby Inhalt in Jar Datei speichern Datenbankprogrammierung 5
O Derby/JavaDB anwenden von Regular Expressions Datenbankprogrammierung 2
O Derby Performance Probleme? Datenbankprogrammierung 4
H Derby in Java 6 direkt integriert? Wie nutzt man das? Datenbankprogrammierung 3
Z derby abfrage von einem Timestamp Datenbankprogrammierung 2
GilbertGrape Allgemeines zu Derby Datenbankprogrammierung 7
M JavaDB/Derby: Tabellen erstellen Datenbankprogrammierung 8
G Derby Anleitung? Datenbankprogrammierung 1
H Migration von MySQL auf Derby Datenbankprogrammierung 2
B Java Derby Datenbank mit CLOB & BLOB Datenbankprogrammierung 5
vogella Java DB (Derby) Size Datenbankprogrammierung 12
J Derby Cursor Problem Datenbankprogrammierung 2
R Wie stabil ist Derby? Datenbankprogrammierung 2
P derby datenbank Datenbankprogrammierung 2
D Installation von Apache Derby in Eclipse Datenbankprogrammierung 1
P DERBY vs HSQLDB (Vor- Nachteile) Datenbankprogrammierung 3
B Cloudscape/Derby NetworkServer als JDBCRealm Datenbank Datenbankprogrammierung 2
P Apache DERBY - Datanbank erstellen Datenbankprogrammierung 2

Ähnliche Java Themen


Oben