Spring boot 使用SpringBoot2.3.3H2内存数据库抛出非TransientConnectionException

Spring boot 使用SpringBoot2.3.3H2内存数据库抛出非TransientConnectionException,spring-boot,h2,Spring Boot,H2,目前我正在做一个Spring Boot项目,不幸的是遇到了一个我不知道如何解决的错误 我在应用程序中为我的项目设置了H2内存数据库。属性如下: # 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 调用

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

我在应用程序中为我的项目设置了H2内存数据库。属性如下:

    # 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控制台上的H2控制台并尝试登录时,会引发以下错误:

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

数据已经存在,并且在应用程序中开始使用此数据填充数据。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启动版本(2.1.15)解决了这个问题,但我现在使用的是2.3.3,保留这个版本非常重要

另一位提到,可以通过将生成唯一名称设置为false来解决此问题,如下所示:

    spring.datasource.generate-unique-name=false
但那没用


如果有人能告诉我这里到底出了什么问题以及如何解决,我将非常高兴。

当您调用H2控制台并查看H2登录表单时,将
JDBC URL:
form字段值设置为
JDBC:H2:mem:testdb
看起来您连接到了错误的数据库。基于文件而不是基于内存的文件。