繁体   English   中英

无法使用服务器模式连接 H2 数据库

[英]Cannot connect H2 database using Server Mode

我在我的 Java 应用程序中使用 H2 数据库(文件),并且由于 IntelliJ 中的一些数据外观问题,我使用文件选项而不是内存。

这是我在application.properties中的 url 设置:

spring.datasource.url=jdbc:h2:file:~/test-db;
    DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;AUTO_SERVER=TRUE

我可以使用 url 参数通过 IntelliJ 和 H2 控制台连接并查看表数据,如下所示:

jdbc:h2:file:~/test-db

但是,即使我成功连接到数据库,DBeaver 中也看不到表数据,如下所示:

在此处输入图像描述

我想我应该使用tcp选项来连接 H2 数据库,但我不能使用以下设置:

spring.datasource.url=jdbc:h2:tcp://localhost/~/test-db

或者

jdbc:h2:tcp://localhost/C:/test-db 

并得到“无法打开 JDBC 连接以执行 DDL”错误(我使用 Windows)。 任何想法?

您正在使用与该内存数据库的文件关联连接,该连接只能由 1 个工具一次使用。 因此,当 IntelliJ 连接时,它会生成一个锁定文件来保护它免受多访问。

我建议使用允许多个连接的 TCP 连接 - 请参阅此处的冗余问题: H2 数据库错误:数据库可能已在使用中:“被另一个进程锁定”

暂无
暂无

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

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