Question

je ne comprends vraiment le SqlTool ... je veux juste importer un fichier SQL dans la base de données et CHOISI cette commande pour faire ceci:

java -jar ~/bin/sqltool.jar --autoCommit --inlineRc URL=jdbc:hsqldb:file:/path/to/my/database.hsqldb,USER=SA,PASSWORD='' database.sql

dans le database.sql est d'autant créer des choses, comme:

create table foo(id identity, name varchar(256));

alors j'ai un second script, appelé data.sql, qui devrait être inscrit dans la base de données même, dans celui-ci est tout mon truc de testdata:

insert into foo(name) values('bla');

quand j'exécute maintenant mon script bash, le SqlTool crée une nouvelle base de données (avant que je supprimé le fichier), mais ne fait rien avec le fichier SQL! La première va de script sans erreur, mais le second dit:

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

quand je me connecte maintenant à la base de données et dire \dt il n'y a pas de table!

i mettre également commit; à la fin de chaque fichier et opend le SqlTool avec --autoCommit mais ce travail ne marche pas non plus ... ce qui se passe là-bas?

Était-ce utile?

La solution

hsqldb nécessite commande SHUTDOWN avant la dernière fermeture de connexion ou une propriété de connexion JDBC, arrêt = true. Voir docs .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top