【发布时间】:2011-09-17 20:52:39
【问题描述】:
我只是在评估 H2 数据库...我下载并解压缩了安装并连接到jdbc:h2:file:/home/konrad/test 的数据库。 /home/konrad 是我的主目录,test 不存在(我希望 H2 创建它)。
控制台似乎工作正常。我创建了一个表并在其中插入了一行。即使我断开并重新连接控制台,我也可以查看和查询该表。
但是,我没有看到预期的文件。它在哪里?
【问题讨论】:
我只是在评估 H2 数据库...我下载并解压缩了安装并连接到jdbc:h2:file:/home/konrad/test 的数据库。 /home/konrad 是我的主目录,test 不存在(我希望 H2 创建它)。
控制台似乎工作正常。我创建了一个表并在其中插入了一行。即使我断开并重新连接控制台,我也可以查看和查询该表。
但是,我没有看到预期的文件。它在哪里?
【问题讨论】:
您的数据库文件可以在您的用户目录中找到。对于窗户
C:\Users\<userName>
看看H2的FAQ,你可以找到更多信息here
在新版本的 Spring 中,它只是位于项目根目录中,如下所示:
属性是spring.datasource.url=jdbc:h2:file:./fileOrDbName
【讨论】:
你确定没有:
/home/konrad/test.h2.db
文件?如果没有,试试这个:
$ lsof -p `jps -ml | grep h2 | cut -d' ' -f1` | grep \.h2\.db$
它的作用是查找 H2 控制台的 Java 进程,获取其 PID 并列出该进程的所有打开文件,并按 H2 数据库扩展名进行过滤。当然,您可以使用访问此数据库的任何其他 Java 进程的 PID。如果它持久化在磁盘上,你不能错过它。
【讨论】:
test 而不是test.h2.db。谢谢!