# persistentes Speichern von Daten in der HSQLDB  ?



## Lungen-Brei (20. Jul 2006)

Hallo, weiß jemand wie ich die verdammte hsqldb dazu bringe, Daten permanent zu speichern?
Die HSQLDB kommt ja mit Beispieltabellen, die mir für Übungszwecke auch ausreichen. Nun hab ich den hsqldb Manager gestartet und Options-->insert test data ausgewählt.

ich habe die DB mit 

java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 db -dbname.0 xdb

gestartet um eben zu erreichen, dass die Daten nicht nur temporär leben. Es muss mit JDBC möglich sein, Zeilen einzufügen usw. nach einem Beenden sind sie aber jedesmal weg.
Wenn ich zB diesen Code ausführe 


```
String sql = "INSERT INTO Customer VALUES (51,'Walter','Bauer','Gipsgasse 45','Osthofen')";
	  Statement stmt = DBUtil.getConnection().createStatement();
	  stmt.executeQuery(sql);
	   
      ResultSet rs = DBUtil.executeSQL("SELECT * FROM Customer");  
       
       while (rs.next())
    	   DBUtil.printData(rs);
```

bekomme ich den neuen Herrn auf der Konsole  ausgeben, lass ich die Insert Anweisungen allerdings weg und führe nochmal die standard query aus, ist Walter wieder verschwunden ?


Weiß jemand wie ich da was einstellen muss?


DAanke


----------



## AlArenal (20. Jul 2006)

Lass mich raten: Auto-Commit ist aus und an Transaktionen hast du noch nicht gedacht?


----------



## Lungen-Saft (20. Jul 2006)

Nein, 
autocommit ist on, transaktionen weiß ich nicht.
ich will nur das ich per jdbc daten einfügen kann und löschen kann und weiß nicht wie das geht.


----------



## foobar (20. Jul 2006)

Welchen Tabellentyp verwendest du denn? Schick mal folgende SQL-Statements als Abschluss deiner Queries:


```
SHUTDOWN
```


```
CHECKPOINT
```


----------



## Natorion (21. Jul 2006)

cached table verwenden und immer schön shutdown und checkpoints machen.


----------



## Zwiebelbrei (21. Jul 2006)

Daanke, klar Jungz das ist es. Die entscheidenden Zeilen haben gefehlt:


```
Statement st = DBUtil.getConnection().createStatement();
        st.execute("SHUTDOWN");
        
        DBUtil.getConnection().close();
```


Nun klappts. Juhu.


----------

