无法打开H2数据库文件,报Unsupported database file version错误求助
解决H2数据库"Unsupported database file version or invalid file header"错误
排查与处理步骤
- 严格匹配应用使用的H2版本:既然数据库能在应用中正常运行,先确认项目依赖的H2精确版本(比如查看Maven的
pom.xml或Gradle的build.gradle文件),必须使用完全一致版本的H2客户端/jar来打开数据库文件,小版本号差异也会触发该错误。 - 修正连接URL参数:
- 使用H2 Console连接时,在URL中添加兼容参数,比如
;MODE=LEGACY或;DATABASE_TO_LOWER=TRUE(需根据实际版本调整)。 - 避免自动版本检测,明确指定文件格式相关参数,例如:
jdbc:h2:/绝对路径/你的数据库文件名;FILE_LOCK=SOCKET。
- 使用H2 Console连接时,在URL中添加兼容参数,比如
- 核对文件路径与权限:
- 确保打开文件时使用的路径和应用运行时的路径完全一致,优先用绝对路径替代相对路径。
- 检查数据库文件的读写权限,保证H2客户端拥有访问该文件的权限。
- 导出再导入修复:如果以上方法无效,通过应用内的H2执行备份命令:
BACKUP TO 'backup.zip',再用目标版本的H2创建新数据库,导入备份文件恢复数据。
错误代码
[90048-224]本质是版本不兼容或连接参数错误,你已确认数据库可正常使用,因此排除文件损坏可能。
内容的提问来源于stack exchange,提问作者Yurii
相关产品推荐
相关产品推荐

