问题叙述
最近使用h2数据库时总是遇到数据库被别的进程占用而导致连接失败,其实这个原因很简单,就是最开始使用h2数据库的表时会生成一个 表名.lock.db的一个文件,就是这个文件导致你连接不上,默认的文件位置在C:\Users\先生位置下,当然到你的电脑上就是C:\Users\你的用户名
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021031312441747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FmbHlJVA==,size_16,color_FFFFFF,t_70)
解决
你要做的有两件事
- 第一:把这个文件删除,前提是你先关闭对h2数据库的连接,不然删除了也会重新生成
- 第二:设置成对文件不加锁FILE_LOCK=SOCKET,这样就不会产生这个lock文件
URL = “jdbc:h2:~test;FILE_LOCK=SOCKET”;