繁体   English   中英

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

[英]Can't see my H2 database in Web Console

我用我的代码用这个URL创建了一个H2数据库:

JDBC:H2:C:/data/fixed.db

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

但是,当我尝试使用带有Web界面的H2控制台时,我看不到数据库。 相反,Web控制台会在此处创建另一个空数据库C:/data/fixed.db.mv.db 我只是无法加载我的数据库。

我错过了什么?

编辑

我的代码使用H2 1.3.175
Web控制台H2 1.4.178

最后我解决了我的问题......

由于1.4.x的,H2采用MV_STORE(看到这么回答这里和托马斯·穆勒评论)。 显然,Web控制台会尝试自动附加.mv.db扩展名。 即使已经有一个扩展名为h2.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" //
);

我不认为jdbc:h2:C:/data/fixed.db需要.db jdbc:h2:C:/data/fixed.db

我使用了这两行,它对我来说很好

Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection("jdbc:h2:file:G:\\projects\\test;MODE=MySQL;INIT=RUNSCRIPT FROM '~/test.sql'\\;");

我的代码刚刚创建了一个名为test.mv.db的db文件格式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM