使用sqltool.jar连接HSQLDB时\j命令失效且无法重连求助
问题分析与解决步骤
核心问题定位
- URL格式错误:执行
\j命令时使用的JDBC URL不符合HSQLDB服务器模式规范,导致连接失败并可能引发后续服务器异常 - 连接拒绝问题:HSQLDB服务器进程大概率已异常终止,或是后续使用的URL端口/路径参数错误
具体解决步骤
1. 启动HSQLDB独立服务器进程
HSQLDB服务器模式必须先启动独立数据库服务,默认监听1234端口。执行以下命令创建并启动db0数据库的服务:
java -cp /opt/hsqldb/hsqldb-2.7.2/hsqldb/lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:/home/hsqldb/db0 --dbname.0 db0
该命令会在/home/hsqldb目录下生成db0数据库的文件,并对外暴露名称为db0的数据库服务。
2. 修正SQLTool连接命令
方式一:直接用规范URL连接
进入SQLTool命令行后,执行格式正确的切换连接命令:
\j jdbc:hsqldb:hsql://localhost/db0 sa
格式说明:\j <JDBC_URL> <用户名>,密码为空时可省略。
方式二:在sqltool.rc中新增db0配置
编辑/home/hsqldb/sqltool.rc,添加以下配置段:
urlid db0-sa url jdbc:hsqldb:hsql://localhost/db0 username sa password
保存后直接用配置ID连接:
java -jar /opt/hsqldb/hsqldb-2.7.2/hsqldb/lib/sqltool.jar db0-sa
3. 恢复原有localhost-sa连接
若之前的异常导致服务器终止,重新执行步骤1的服务器启动命令,再用原命令连接即可:
java -jar /opt/hsqldb/hsqldb-2.7.2/hsqldb/lib/sqltool.jar localhost-sa
注意:原localhost-sa对应的URL连接的是服务器默认的test数据库,需确保服务器启动时包含该库,或修改sqltool.rc的URL指向实际数据库。
4. 验证连接有效性
连接成功后,执行以下命令测试:
CREATE TABLE test_table (id INT PRIMARY KEY); INSERT INTO test_table VALUES (1); SELECT * FROM test_table;
能正常执行则说明连接正常。
内容的提问来源于stack exchange,提问作者Frederic Peugny
相关产品推荐
相关产品推荐

