在Web控制台中看不到我的H2数据库

我使用以下URL通过代码创建了一个H2数据库

jdbc:h2:C:/data/fixed.db

我的代码可以创建表,执行查询。如果手动打开文件,则可以成功查看其内容并查看创建查询等

但是,当我尝试通过Web界面使用H2控制台时,看不到数据库。而是,Web控制台在此处创建

空数据库C:/data/fixed.db.mv.db。我只是无法加载我的数据库。

我想念什么?

我的代码使用H2

Web控制台H2

回答:

终于我解决了我的问题…

从1.4.x开始,H2使用MV_STORE解答和ThomasMueller的评论。显然,Web控制台尝试自动附加.mv.db扩展名。即使已经有带有h2.db扩展名的文件。

.mv.db -files用于H2的即将推出/测试版存储类型“ MVStore”。

这是来自http://www.h2database.com/html/changelog.html的内容:

新的表引擎“ org.h2.mvstore.db.MVTableEngine”在内部使用MVStore保留数据。要进行尝试,请将“; DEFAULT_TABLE_ENGINE = org.h2.mvstore.db.MVTableEngine”附加到数据库URL。这仍然是非常试验性的,尚不支持许多功能。数据存储在后缀为.mv.db的文件中 。

因此,我将代码的H2版本从1.3.175升级到1.4.178,最后,我可以看到我的数据了…

这是@devdanke提出的替代解决方案:

您必须手动告诉H2 1.4.x不要使用MV_Store:“; mv_store = false”。真麻烦

例如,您将以类似于以下代码的结尾:

Class.forName("org.h2.Driver");

Connection conn = DriverManager.getConnection( //

"jdbc:h2:file:C:\\my\\java\\projects\\test;mv_store=false" //

);

以上是 在Web控制台中看不到我的H2数据库 的全部内容, 来源链接: utcz.com/qa/407950.html

回到顶部