HSQLDB - 这是主要的数据库文件

时间:2011-06-24 18:07:23

标签: java database hsqldb

我在嵌入模式下使用HSQLDB。

“JDBC:HSQLDB:文件:ABC \ TESTDB;

创建数据库后,文件夹abc具有以下文件

TESTDB.lck TESTDB.script TESTDB.log TESTDB.properties

我的申请工作正常

但我的问题是上面列出的文件中哪个是主数据库文件?

或主数据库文件存储在其他位置?

3 个答案:

答案 0 :(得分:8)

.script 包含创建表,更改表和插入数据的所有语句。在内存中使用hsqldb时会创建此文件。 (所以我说这是你的数据库) 否则数据库存储在 .data 中,正如其他人已经说过的那样

.lck 是锁定文件,hsqldb通过该文件知道数据库是否被进程锁定。通常,只有在程序运行时才有此文件,并且在停止程序时会自动删除该文件。

.log 包含运行事务的内部日志语句,例如一些提交或回滚点。

.properties 包含用于初始化hsqldb的属性(如果您不知道自己在做什么,最好不要更改任何内容)。这不应与和持久性单元配置混淆。

亲切的问候

答案 1 :(得分:6)

由于各种原因,包含实际数据的文件可能不存在于您的文件夹中 - 尤其是在使用内存或非缓存表时。由于各种原因,HSQLDB使用您在其工作文件夹中找到的各种文件。您可以在此处详细了解其用途:HSQLDB Reference

我解释了一些更相关的信息:

  

脚本文件包含   表格和其他的定义   数据库对象,加上数据   非缓存表。日志文件   包含最近的更改   数据库。数据文件包含   缓存表和备份的数据   file是最后一个的压缩备份   已知的数据一致状态   文件。所有这些文件都很重要   永远不应该删除。如果   数据库没有缓存表,   test.data和test.backup文件会   不在场。除了那些   文件,HSQLDB数据库可能链接到任何   格式化的文本文件,例如CSV   列表,磁盘上的任何位置。

     

虽然“测试”数据库是   可操作,使用test.log文件   写入对数据所做的更改。   此文件正常删除   关掉。否则(有异常   shutdown)此文件用于   下次启动以重做更改。一个   test.lck文件也用于记录   数据库是开放的这一事实。   这在正常SHUTDOWN时被删除。   在某些情况下,test.data.old   之后创建并删除。

答案 2 :(得分:0)

我认为在向数据库添加记录后,您应该有一个.data文件。如果我错了,这里有适合您的文档:

http://hsqldb.org/doc/guide/apc.html

http://hsqldb.org/doc/guide/ch04.html