使用 Spring-Boot 2.3.3 H2 内存数据库抛出 NonTransientConnectionException

With Spring-Boot 2.3.3 H2 In-Memory Database throws NonTransientConnectionException

目前我正在开发一个 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 并尝试登录,它抛出以下错误:

Database "/Users/.../testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database "/Users/supportmicha/testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [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);

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

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

    spring.datasource.generate-unique-name=false

但这并没有帮助。

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

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