【问题标题】:With Spring-Boot 2.3.3 H2 In-Memory Database throws NonTransientConnectionException使用 Spring-Boot 2.3.3 H2 内存数据库抛出 NonTransientConnectionException
【发布时间】:2020-12-10 16:55:00
【问题描述】:

目前我正在做一个 Spring-Boot 项目,不幸的是遇到了一个我不知道如何解决的错误...

我在 application.properties 中为我的项目设置了 H2 In-Memory-Databae,如下所示:

    # H2 In-Memory-Database Config
    spring.datasource.generate-unique-name=false
    spring.datasource.url=jdbc:h2:mem:testdb;MODE=MYSQL
    spring.h2.console.enabled=true

在 localhost:8080/h2-console 上调用 H2-Console 并尝试登录,它会抛出以下错误:

找不到数据库“/Users/.../testdb”,请预先创建或允许远程创建数据库(不建议在安全环境中使用)[90149-200] 90149/90149 org.h2.jdbc.JdbcSQLNonTransientConnectionException:找不到数据库“/Users/supportmicha/testdb”,要么预先创建它,要么允许远程创建数据库(不推荐在安全环境中使用)[90149-200]

数据在那里,并且它在应用程序开始使用这个 data.sql 脚本填充:

    INSERT INTO my_table (id, name, style, created_date, last_modified_date, min_on_hand, quantity_to_produce, price, upc, version ) values ('0a818933-087d-47f2-ad83-2f986ed087eb', 'TestName_1', 'TestStyle_1', CURRENT_TIMESTAMP , CURRENT_TIMESTAMP , 12,  200, 12.95, '0631234200036', 1);
    INSERT INTO my_table (id, name, style, created_date, last_modified_date, min_on_hand, quantity_to_brew, price, upc, version ) values ('a712d914-61ea-4623-8bd0-32c0f6545bfd', 'TestName_2', 'TestStyle_2', CURRENT_TIMESTAMP , CURRENT_TIMESTAMP , 12,  200, 12.95, '0631234300019', 1);
    INSERT INTO my_table (id, beer_name, beer_style, created_date, last_modified_date, min_on_hand, quantity_to_produce, price, upc, version ) values ('026cc3c8-3a0c-4083-a05b-e908048c1b08', 'TestName_3', 'TestStyle_3', CURRENT_TIMESTAMP , CURRENT_TIMESTAMP , 12,  200, 12.95, '0083783375213', 1);

在 stackoverflow 上的另一个对话中,有人通过使用较旧的 Spring-Boot-Version (2.1.15) 解决了这个问题 - 但我现在使用的是 2.3.3,保留这个版本非常重要。

另一个提到可以通过将 generating unique name 设置为 false 来解决 - 像这样:

    spring.datasource.generate-unique-name=false

但这并没有帮助。

如果有人能提示这里到底出了什么问题以及如何解决它,我会非常高兴。

【问题讨论】:

  • 看起来您连接到错误的数据库。基于文件而不是基于内存的。

标签: spring-boot h2


【解决方案1】:

当你调用 H2 控制台并看到 H2 登录表单时,将JDBC URL: 表单字段值设置为jdbc:h2:mem:testdb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2019-03-03
    • 2017-10-03
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 2019-01-26
    • 2023-02-08
    相关资源
    最近更新 更多