[英]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.