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?

War es hilfreich?

Lösung

HSQLDB erfordert den Befehl zum Herunterfahren vor der letzten Verbindung schließen oder eine JDBC -Verbindungseigenschaft, Shutdown = true. Sehen Dokumente.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top