【问题标题】:Where is the H2 database stored?H2数据库存储在哪里?
【发布时间】:2015-02-16 16:17:44
【问题描述】:

我正在尝试将H2 数据库与Java 一起使用。我似乎无法找出数据写入的位置。

我提供的数据库 URL 是:jdbc:h2:/db/bh

我正在使用Java 连接数据库,如下所示:
dbObj.setDBConnection(DriverManager.getConnection(hObj.getDBUrl(), hObj.getDBUsername(), hObj.getDBPassword()));
上面给出了 DB URL。
用户名:sa
密码:(空)。

我正在以下文件夹中运行jar
C:\work\sampleH2\sampleH2.jar

我对H2的FAQ部分的理解是说数据库bh会在文件夹sampleH2的文件夹db/中找到。但事实并非如此。我在哪里可以找到它?

【问题讨论】:

  • 默认情况下,h2 在内存中运行。
  • 没有“默认”,JDBC url 决定它是在磁盘上创建还是在内存中创建。根据该 url (/db/bh) 中的路径判断,它将在 Windows 系统上的 c:\db\bh 中创建。
  • @Gimby:感谢您的回复。你是对的。如何确保 db 存储在我运行 jar 的路径的 db 文件夹中:C:\work\sampleH2\db\bh?

标签: java database jdbc h2


【解决方案1】:

根据http://www.h2database.com/html/cheatSheet.html有区别存放在:

  • 相对路径(当前目录下的某处):jdbc:h2:test
  • 绝对路径(在根目录下):jdbc:h2:/data/test

所以我会在您指定的路径下的主驱动器(可能是 c:) 上查找它

【讨论】:

  • 感谢您的回复。我尝试将 url 更改为“db/bh”,但没有效果。
  • 另外,在您链接到的文档中,当前工作目录被指定为“当前(!)工作目录”。为什么是感叹号?以及如何识别当前工作目录?
  • 我猜它是您的 java 应用程序的当前工作目录。更多详情:en.wikipedia.org/wiki/Working_directorystackoverflow.com/questions/4871051/…
猜你喜欢
  • 2012-03-16
  • 2019-12-22
  • 2010-11-11
  • 2011-09-17
  • 2010-11-09
  • 2011-01-06
  • 1970-01-01
  • 2011-06-21
相关资源
最近更新 更多