我们将h2版本从1.3.176-> 1.4.198升级了
版本升级后,我们执行了以下步骤,并导致错误,如下所示。
1)删除了通过1.3.X版本创建的* .h2.db文件。
2)使用以下参数启动数据库服务器: args'-tcp','-tcpPort',“ 9092”,'-tcpAllowOthers','-baseDir',“ C:/ dev / workspace / projectname / db /”)
3)尝试通过Squirrel工具连接到数据库(通过tcp进行远程连接)。与松鼠建立会话时,它应该已经在baseDir中创建了一个新的db文件。但是导致错误。
Squirrel中使用的数据库URL:jdbc:h2:tcp:// localhost:9092 / YYYDB
Exception 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会在baseDir中按预期创建一个新的* .db文件。
如果存在* .db文件的早期版本,则1.4.198也可以正常工作。