HSQLDB DbBackup dbPath

Posted

技术标签:

【中文标题】HSQLDB DbBackup dbPath【英文标题】: 【发布时间】:2012-01-11 13:15:24 【问题描述】:

我正在尝试按照 HSQLDB 用户指南中的说明创建我的 HSQLDB(使用 HSQLDB 2.2.6.jar)的脱机备份:http://hsqldb.org/doc/2.0/guide/management-chapt.html#N1400A

java -cp path/to/hsqldb.jar org.hsqldb.lib.tar.DbBackup --save  \
tar/path.tar db/base/path

但我找不到 db/base/path 应该指向的位置。这是用户指南中的注释:

db/base/path is the file path to the catalog file base name (in same fashion as in server.database.* settings and JDBC URLs with catalog type file:.

这就是我得到的错误信息:

Exception in thread "main" java.io.FileNotFoundException: File not found:
path\to\hsqldb.jar.properties
at org.hsqldb.lib.tar.DbBackup.write(Unknown Source)
at org.hsqldb.lib.tar.DbBackup.main(Unknown Source)

【问题讨论】:

【参考方案1】:

指南中的路径必须替换为您使用的路径。例如,如果您要将备份保存到名为 /backupdir/ 的目录中,并且您的数据库文件名为 mydatabase 并且它们位于 /dbdir/ 中,那么命令是:

java -cp hsqldb.jar org.hsqldb.lib.tar.DbBackup --save /backupdir/mydatabase.tar /dbdir/mydatabase

【讨论】:

非常感谢!现在它起作用了。仅仅因为这是另一个我遇到的下一个问题:您必须使用 SHUTDOWN SQL 语句正确关闭数据库才能生成备份。属性文件中的修改行必须设置为“否”,如下所述:hsqldb.org/doc/guide/apc.html

以上是关于HSQLDB DbBackup dbPath的主要内容,如果未能解决你的问题,请参考以下文章

定期备份数据库数据

Crontab定时备份数据库

MySQL自动备份 .bat 七天一轮循

HSQLDB:REPLACE INTO 表抛出 org.hsqldb.HsqlException:完整性约束违规:

如何使用 HSQLDB API 的 org.hsqldb.jdbc.JDBCConnection 类

Hsqldb安装与使用