我在嵌入模式下使用HSQLDB。
“JDBC:HSQLDB:文件:ABC \ TESTDB;
创建数据库后,文件夹abc具有以下文件
TESTDB.lck TESTDB.script TESTDB.log TESTDB.properties
我的申请工作正常
但我的问题是上面列出的文件中哪个是主数据库文件?
或主数据库文件存储在其他位置?
答案 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
文件。如果我错了,这里有适合您的文档: