H2数据库连接报错:不支持的连接选项‘INIT’求解
H2数据库连接URL错误修复方案
错误位置代码
private static String dbUrl = "jdbc:h2:mem:test; INIT = RUNSCRIPT FROM classpath:init.sql' ";
错误信息(翻译后)
Exception in thread "main" java.lang.RuntimeException: org.h2.jdbc.JdbcSQLNonTransientConnectionException: 不支持的连接选项 " INIT "
Unsupported connection setting " INIT " [90113-200]
错误原因及修复
问题点1:参数名含多余空格
H2数据库的连接参数名不允许前后带空格,你写的 INIT =里INIT前后的空格会被识别成参数名的一部分,系统因此判定INIT是非法参数。
问题点2:多余的单引号
URL末尾多了一个单引号',属于语法错误,会干扰参数解析逻辑。
修复后的代码
private static String dbUrl = "jdbc:h2:mem:test;INIT=RUNSCRIPT FROM classpath:init.sql";
排查步骤
- 优先检查连接URL的语法细节:参数名与等号之间无空格、引号配对完整
- 核对H2数据库连接参数的规范写法,确保参数名拼写准确
- 若修复后仍报错,确认使用的H2版本是否支持
INIT参数(不同版本的参数写法可能存在差异)
内容的提问来源于stack exchange,提问作者Evgeni
相关产品推荐
相关产品推荐

