2

我真的不了解 SQLTool... 我只想将 SQL 文件导入数据库并选择此命令来执行此操作:

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

在 database.sql 中是所有创建的东西,比如:

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

然后我有第二个脚本,称为 data.sql,它应该被写入数据库中,在这个是我的整个 testdata 的东西:

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

当我现在执行我的 bash 脚本时,SQLTool 会创建一个新的数据库(在我删除文件之前),但不会对 SQL 文件做任何事情!第一个脚本运行没有错误,但第二个说:

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

当我现在连接到数据库并说\dt没有表时!

我还在commit;每个文件的末尾放了一个,并用它打开了 SQLTool,--autoCommit但这也不起作用......那里发生了什么?

4

1 回答 1

4

hsqldb 在最后一个连接关闭之前需要 SHUTDOWN 命令或 JDBC 连接属性,shutdown=true。请参阅文档

于 2011-12-04T00:53:00.670 回答