HSQLDB Problem

janus23

Mitglied
Hallo, ich hab was von der hsqldb gehört, und wollte das mal ausprobieren.
Ich hab die DB erstellt mit diesem beigelieferten Manager, und wollte das nun ausprobieren.

Java:
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName( "org.hsqldb.jdbcDriver" );
        Connection cn = DriverManager.getConnection("jdbc:hsqldb:file:C:\\Users\\Berndi\\Documents\\NetBeansProjects\\db_test\\db", "bla", "ble" );

    }

Ich hab den Treiber inkludiert.
Aber ich bekomm nur ne Exception:

2010-11-14T10:15:06.998+0100 SEVERE C:\Users\Berndi\Documents\NetBeansProjects\db_test\db log line: 1
org.hsqldb.HsqlException: unexpected end of statement
at org.hsqldb.error.Error.parseError(Unknown Source)
at org.hsqldb.ParserBase.unexpectedToken(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.executeDirectStatement(Unknown Source)
at org.hsqldb.persist.ScriptRunner.runScript(Unknown Source)
at org.hsqldb.persist.ScriptRunner.runScript(Unknown Source)
at org.hsqldb.persist.Log.processLog(Unknown Source)
at org.hsqldb.persist.Log.open(Unknown Source)
at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
at org.hsqldb.Database.reopen(Unknown Source)
at org.hsqldb.Database.open(Unknown Source)
at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at db_test.Db_test.main(Db_test.java:25)

Ich weiß nicht was ich falsch mache....
 
Versuch es mal ohne dass du die Datenbank vorher schon erstellst. Also mit einem Pfad an dem bisher noch keine Datenbank besteht. Die DB wird dann automatisch erstellt.

Eventuell benötigt der Pfad einen / statt \\
 
Hast du die Datenbank beim beenden deines Programms wieder korrekt geschlossen?

Und welche HSQLDB Version verwendest du?
 
Aah, das schließen wirds gewesen sein <.<
Scheint jetzt zu funktionieren^^
Danke^^

Eine Frage hab ich aber noch. Wie kann ich die DB so erstellen, das ich die im JAR enthalten ist, so das ich die Datei auch auf einem anderen PC verwenden kann?
 
Kommt drauf an: Willst du die DB nur für feste Informationen verwenden oder sollen diese Informationen auch bearbeitet werden können?

Read-Only dürfte mit res: und der JAR-URL (ClassLoader.getResource()) möglich sein. Wenn die Datenbank bearbeitet können werden soll müßtest du diese denke ich aus dem Jar bei der ersten Verwendung ins Nutzerverzeichnis kopieren und von dort weiterverwenden.
 
Hallo janus23 und alle anderen :-)

Ich habe vor einiger Zeit einen ausführlichen Artikel über die Verwendung von einer HSQLDB geschrieben. Für all diejenigen, die sich noch mit diesem Thema auseinandersetzen wollen, möchte ich auf das Tutorial verweisen.

Java HSQLDB (HyperSQL) Tutorial

Schöne Grüße und einen schönen Abend
 
Zurück