SQLTool non commette dati dopo la chiusura (HSQLDB)
Domanda
Non capisco davvero SQLTool ... Voglio solo importare un file SQL nel database e scelto questo comando per farlo:
java -jar ~/bin/sqltool.jar --autoCommit --inlineRc URL=jdbc:hsqldb:file:/path/to/my/database.hsqldb,USER=SA,PASSWORD='' database.sql
Nel database.sql è tutto ciò che crea roba, come:
create table foo(id identity, name varchar(256));
Quindi ho un secondo script, chiamato data.sql, che dovrebbe essere scritto nel database lo stesso, in questo è il mio intero testdata:
insert into foo(name) values('bla');
Quando ora eseguo il mio script bash, SQLTool crea un nuovo database (prima di eliminare il file), ma non faccio nulla con il file SQL! Il primo script funziona senza errori, ma il secondo dice:
SEVERE SQL Fehler an 'data.sql' Zeile 1:
"insert into foo (name) values('bla')"
user lacks privilege or object not found: FOO
org.hsqldb.cmdline.SqlTool$SqlToolException
Quando ora mi connetto al database e dico \dt
Non c'è tavolo!
Ho anche messo un commit;
alla fine di ogni file e apre il SQLTool con --autoCommit
Ma non funziona neanche ... cosa sta succedendo lì?
Soluzione
HSQLDB richiede il comando di spegnimento prima dell'ultima connessione chiusa o una proprietà di connessione JDBC, Shutdown = true. Vedere Documenti.