org.h2.jdbc.JdbcSQLException:不支持的连接设置 AUTO_SERVER

Posted

技术标签:

【中文标题】org.h2.jdbc.JdbcSQLException:不支持的连接设置 AUTO_SERVER【英文标题】:org.h2.jdbc.JdbcSQLException: Unsupported connection setting AUTO_SERVER 【发布时间】:2012-10-18 11:07:50 【问题描述】:

在尝试使用以下 URL 创建 H2 数据库连接时,

 Connection conn = DriverManager.getConnection("jdbc:h2:D:/HATBOX/Data;AUTO_SERVER=TRUE")

我得到以下异常。谁能解释一下我在这里缺少什么。

Exception in thread "main" org.h2.jdbc.JdbcSQLException: Unsupported connection setting AUTO_SERVER [90113-73]
at org.h2.message.Message.getSQLException(Message.java:103)
at org.h2.message.Message.getSQLException(Message.java:114)
at org.h2.message.Message.getSQLException(Message.java:77)
at org.h2.engine.ConnectionInfo.readSettingsFromURL(ConnectionInfo.java:189)
at org.h2.engine.ConnectionInfo.<init>(ConnectionInfo.java:87)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:87)
at org.h2.Driver.connect(Driver.java:57)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.company.h2.TestInsert.main(TestInsert.java:16)

我需要使用 AUTO_SERVER=true,因为我正在尝试使用我的应用程序配置 HatBox,以便多个进程可以访问同一个数据库,而无需手动启动服务器。

【问题讨论】:

【参考方案1】:

您使用的是非常旧的 H2 版本(2008 年 5 月 31 日的 1.0.73 版),不支持此选项。

我建议升级到 H2 的最新版本。

【讨论】:

感谢 Thomas 的回复,但我只使用最新的 jar。你怎么觉得我用的是1.0.73版本? 您使用的是 1.0.73 版本,因为内部版本号已编码在错误代码中。 [90113-73] 表示使用的是内部版本号 73,即版本 1.0.73。很多情况下的问题是classpath中有多个h2 jar文件,所以你无法确定使用的是哪个jar文件。

以上是关于org.h2.jdbc.JdbcSQLException:不支持的连接设置 AUTO_SERVER的主要内容,如果未能解决你的问题,请参考以下文章