无法启动hsql数据库

Posted

技术标签:

【中文标题】无法启动hsql数据库【英文标题】:unable to start hsql database 【发布时间】:2012-01-11 20:43:46 【问题描述】:

我正在尝试使用以下命令启动 hsqldb:

java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server -database test

这取自http://static.springsource.org/docs/Spring-MVC-step-by-step/part5.html - “5.1. 创建数据库启动脚本”部分

这是我得到的错误:

C:\Projects3\springapp\db>java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsql
db.Server -database
[Server@e0e1c6]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@e0e1c6]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@e0e1c6]: [Thread[main,5,main]]: Failed to set properties
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1937)
        at java.lang.String.substring(String.java:1904)
        at org.hsqldb.server.ServerProperties.validateMultiProperty(Unknown Sour
ce)
        at org.hsqldb.server.ServerProperties.validate(Unknown Source)
        at org.hsqldb.server.Server.setProperties(Unknown Source)
        at org.hsqldb.server.Server.main(Unknown Source)

这不是启动hsql数据库的正确方法吗?

【问题讨论】:

【参考方案1】:

试试这个:

java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server --database.0 test

【讨论】:

这有效,但我不知道为什么? “数据库”和“--database.0”有什么区别 "--database" 是只有一个数据库时"--database.0" 的别名。故障导致您尝试的特定 HSQLDB 版本出现错误。

以上是关于无法启动hsql数据库的主要内容,如果未能解决你的问题,请参考以下文章

从另一个客户端连接到内存中的 HSQL 数据库(由 Spring 启动)

Spring:HSQL-无法执行数据库脚本

连接 HSQL 数据库管理器时无法从 Java 代码连接到 HSQL 数据库

无法删除 HSQLDB 文件

无法使用休眠插入 hsql 数据库

HSQL SQLTool无法连接