База данных H2 не найдена - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь использовать базу данных H2 в моем приложении весенней загрузки.Ниже приведен файл application.properties.

# Local db filestore: in your home folder
spring.datasource.url=jdbc:h2:file:~/db/rd_light.db;DB_CLOSE_ON_EXIT=FALSE;IFEXISTS=TRUE;DB_CLOSE_DELAY=-1;

# h2 defaults:
spring.datasource.username=sa
spring.datasource.password=

spring.datasource.driverClassName=org.h2.Driver

# Use "create" or "create-drop" when you wish to recreate database on restart; use
# "update" or "validate" when data is to be kept.
spring.jpa.hibernate.ddl-auto = update

spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

spring.flyway.enabled=true
spring.flyway.url=jdbc:h2:file:~/db/rd_light.db
spring.flyway.user=sa
spring.flyway.password=
spring.flyway.locations=classpath:db/migration

при запуске приложения появляется следующая ошибка.

2018-06-11 12:19:53.160 ERROR 19455 --- [JavaFX-Launcher] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

org.h2.jdbc.JdbcSQLException: Database "/home/administrator/db/rd_light.db" not found [90013-197]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:357) ~[h2-1.4.197.jar:1.4.197]
    at org.h2.message.DbException.get(DbException.java:179) ~[h2-1.4.197.jar:1.4.197]

Я пытался создать файл вручную, но я получаю ту же ошибку.Даже если я пытаюсь использовать базу данных памяти вместо файловой базы, я получаю ту же ошибку.

1 Ответ

0 голосов
/ 11 декабря 2018

В spring.datasource.url убрать флаг IFEXISTS=TRUE;.

Если флаг установлен в значение true, соединение устанавливается, только если база данных существует.Для ссылки на флаг см. http://www.h2database.com/html/features.html#database_only_if_exists

...