HSQLDB有一些机制可以将内存中的数据保存到文件中吗?

时间:2011-07-18 14:05:29

标签: hsqldb

HSQLDB有一些机制可以将内存数据保存到文件中吗?

据我所知,在服务器关闭后,所有内存数据都无法访问。所以我想将所有内存数据保存到文件中。 不幸的是我无法使用BACKUP机制,因为它无法应用于内存数据。

2 个答案:

答案 0 :(得分:9)

HSQLDB数据库有不同的类型。全内存数据库不会将数据存储到磁盘。这些数据库的格式为jdbc:hsqldb:mem:<name>

如果您的数据库URL格式为jdbc:hsqldb:file:<file path>,并且您的表是默认的MEMORY表,则数据全部在内存中,但更改将写入一组磁盘文件。

使用所有类型的数据库(包括all_in_memory),您可以使用SQL语句SCRIPT <file path>将完整数据库保存到文件中。如果将数据保存到扩展名为.script的文件,则可以将该文件作为文件数据库打开。

当您运行服务器时,使用的网址没有jdbc:hsqldb前缀,例如server.database.0=file:C:/myfile

请参阅此处的指南http://hsqldb.org/doc/2.0/guide/running-chapt.html#running_db-sect

答案 1 :(得分:7)

有一个SQL命令。试试这个:

SCRIPT '/tmp/data.sql'

有关详细信息,请参阅here