Файл базы данных H2 не создается при создании нового сеанса - PullRequest
0 голосов
/ 14 марта 2019

Мы обновили нашу версию h2 с 1.3.176 -> 1.4.198

После обновления нашей версии мы выполнили следующие шаги и привели к ошибке, как показано ниже.

1) Удален файл * .h2.db, созданный в версии 1.3.X.

2) Запустил сервер базы данных с аргументами: args '-tcp', '- tcpPort', "9092", '- tcpAllowOthers', '- baseDir', "C: / dev / workspace / projectname / db /")

3) Пробовал подключаться к базе данных через Squirrel Tool (Remote Connection через tcp). При создании сеанса с белкой он должен был создать новый файл базы данных в baseDir. Но привело к ошибке.

URL БД, используемый в Squirrel: jdbc: h2: tcp: // localhost: 9092 / YYYDB

Исключение StackTrace:

  org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database "C:/dev/workspace/projectname/db/YYYDB" not found [90013-198]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:616)
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
    at org.h2.message.DbException.get(DbException.java:205)
    at org.h2.message.DbException.get(DbException.java:181)
    at org.h2.engine.Engine.openSession(Engine.java:67)
    at org.h2.engine.Engine.openSession(Engine.java:201)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:178)
    at org.h2.engine.Engine.createSession(Engine.java:161)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:160)
    at java.lang.Thread.run(Thread.java:785)

    at java.util.concurrent.FutureTask.report(FutureTask.java:133)
    at java.util.concurrent.FutureTask.get(FutureTask.java:217)
    at

Понижение до 1.4.197 создает новый файл * .db в baseDir, как и ожидалось.

1.4.198 также отлично работает, если есть предыдущая версия файла * .db.

...