SQLTOOL bezieht keine Daten nach Quit (HSQLDB)
Frage
Ich verstehe den SQLTool wirklich nicht ... Ich möchte nur eine SQL -Datei in die Datenbank importieren und diesen Befehl auswählen, um dies zu tun:
java -jar ~/bin/sqltool.jar --autoCommit --inlineRc URL=jdbc:hsqldb:file:/path/to/my/database.hsqldb,USER=SA,PASSWORD='' database.sql
In der Datenbank.sql ist alles das Erstellen von Sachen, wie:
create table foo(id identity, name varchar(256));
Dann habe ich ein zweites Skript namens Data.sql, das in der Datenbank gleich geschrieben werden sollte, in diesem Fall ist mein gesamtes TestData -Zeug:
insert into foo(name) values('bla');
Wenn ich jetzt mein Bash -Skript ausführe, erstellt der SQLTOOL eine neue Datenbank (bevor ich die Datei gelöscht habe), tut aber nichts mit der SQL -Datei! Das erste Skript läuft ohne Fehler, aber das zweite sagt:
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
Wenn ich jetzt eine Verbindung zur Datenbank herstelle und sage \dt
Es gibt keinen Tisch!
Ich lege auch eine commit;
bis zum Ende jeder Datei und öffnen Sie den SQLTOOL mit --autoCommit
Aber das funktioniert auch nicht ... was ist da los?
Lösung
HSQLDB erfordert den Befehl zum Herunterfahren vor der letzten Verbindung schließen oder eine JDBC -Verbindungseigenschaft, Shutdown = true. Sehen Dokumente.