我用自己的程序创建了数据库,它显示为mydatabase.mv.db
文件。
但是当我尝试DbVisualizer
使用显然相同的参数访问同一个数据库时,它创建了两个文件mydatabase.lock.db
并且celebrity.h2.db
没有看到在程序中创建的表。
什么是不兼容?
更新
两种设置如下:
我用自己的程序创建了数据库,它显示为mydatabase.mv.db
文件。
但是当我尝试DbVisualizer
使用显然相同的参数访问同一个数据库时,它创建了两个文件mydatabase.lock.db
并且celebrity.h2.db
没有看到在程序中创建的表。
什么是不兼容?
更新
两种设置如下:
在 H2 版本 1.3.x 中,数据库文件<databaseName>.h2.db
是默认的。(使用存储引擎“PageStore”)。
在 H2 版本 1.4.x 中,数据库文件<databaseName>.mv.db
是默认的。(使用存储引擎“MVStore”)。MVStore 目前仍处于测试阶段(2014 年 11 月)。;mv_store=false
但是您可以通过附加到数据库 URL来禁用 MVStore 。
接受的答案现在已经有好几年了,因为其他人可能正在寻找更“当前”的解决方案......
要让它工作,只需更新 DBVizualizer 使用的 H2 JDBC 驱动程序。基本上从http://www.h2database.com/html/download.html下载“Platform-Independent Zip”并将h2/bin/h2-X.X.X.jar
文件复制到~/.dbvis/jdbc/
然后重新启动 DBVizualizer 以便它可以获取更新的驱动程序。
此外,确保.mv.db
在 DBVizualizer 中设置数据库文件名时从文件名中删除。