HSQLDB有一些机制可以将内存数据保存到文件中吗?
据我所知,在服务器关闭后,所有内存数据都无法访问。所以我想将所有内存数据保存到文件中。 不幸的是我无法使用BACKUP机制,因为它无法应用于内存数据。
答案 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)