IO 异常:“/root/test 位于 /opt/h2/DB 之外

问题描述 投票:0回答:3

目前我安装了 H2 数据库,但是当我启动程序并尝试从浏览器访问它时(http://localhost:8082/login.do),我收到此错误:

IO Exception: "/root/test outside /opt/h2/DB" [90028-192] 90028/90028 (Aide) org.h2.jdbc.JdbcSQLException: IO Exception: "/root/test outside /opt/h2/DB" [90028-192]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    at org.h2.message.DbException.get(DbException.java:179)
    at org.h2.message.DbException.get(DbException.java:155)
    at org.h2.engine.ConnectionInfo.setBaseDir(ConnectionInfo.java:182)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:114)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
    at org.h2.Driver.connect(Driver.java:72)
    at org.h2.server.web.WebServer.getConnection(WebServer.java:735)
    at org.h2.server.web.WebApp.login(WebApp.java:955)
    at org.h2.server.web.WebApp.process(WebApp.java:211)
    at org.h2.server.web.WebApp.processRequest(WebApp.java:170)
    at org.h2.server.web.WebThread.process(WebThread.java:133)
    at org.h2.server.web.WebThread.run(WebThread.java:89)
    at java.lang.Thread.run(Thread.java:745)

我该如何解决这个问题?

java spring hibernate h2
3个回答
8
投票

只需添加一个“。”在数据库名称之前。例如,这是我的数据库的 jdbc url:

jdbc:h2:tcp://localhost:9101/~/test
,我将其更改为:
jdbc:h2:tcp://localhost:9101/~./test
。我在论坛上看到这个错误与 H2 有关。


1
投票

您应该更改表单 jdbc url

h2-data
这是您启动 h2 服务器数据路径

jdbc:h2:/h2-data/test

0
投票

我也遇到了同样的问题。我试图从两个应用程序访问它,但 H2 数据库在嵌入模式下一次只允许一个连接。您可以在此处检查允许的连接模式:H2 连接模式

记得根据你想要的模式设置正确的URL;还可以在这里检查:连接 URL

在这种情况下,我会将其设置为服务器模式。

我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.