You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用IntelliJ IDEA连接H2数据库报错:数据库可能已被占用

解决H2文件数据库连接冲突问题

问题原因

文件型H2数据库同一时间仅允许一个进程独占数据库文件锁。你的Spring Boot应用运行时已占用该锁,导致IntelliJ IDEA无法建立新连接,从而触发报错。

解决方法

  • 停止运行中的Spring Boot应用
    直接在IDEA运行面板终止服务,待服务完全关闭后,再尝试连接H2数据库,这是最快的临时解决方式。

  • 启用H2服务器模式(长期解决方案)
    修改Spring Boot配置文件(application.properties或application.yml),让H2以服务器模式启动,支持多客户端同时连接:

    若使用properties配置:

    spring.datasource.url=jdbc:h2:tcp://localhost/./src/db/fleet
    spring.h2.console.enabled=true
    spring.h2.console.settings.web-allow-others=true
    

    若使用yml配置:

    spring:
      datasource:
        url: jdbc:h2:tcp://localhost/./src/db/fleet
      h2:
        console:
          enabled: true
          settings:
            web-allow-others: true
    

    重启应用后,在IDEA数据库连接配置中,将URL改为jdbc:h2:tcp://localhost/./src/db/fleet,输入与应用配置一致的用户名和密码即可正常连接。

  • 清理残留锁文件
    若应用异常关闭,H2可能生成锁文件(格式为[数据库名].lock.db,如你的fleet.lock.db)。找到./src/db/目录下的该文件并删除,再尝试连接。

  • 结束多余进程
    打开系统任务管理器(Windows)或活动监视器(Mac),查找残留的Java进程或H2相关进程,结束后重新尝试连接。

内容的提问来源于stack exchange,提问作者Yogi Lal Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:37:03