위대한 삽질

[위대한 삽질] H2 database file is locked

오잎 클로버 2022. 3. 4. 10:22
728x90

Spring 프로젝트를 진행하던 도중, 제목과 같은 문제가 발생하여, 포스팅하게 되었습니다.

이전에도 자주 보았던 문제이지만, 해결 방법을 자주 까먹는 바람에 기록하고자 합니다.

 

먼저, 대부분의 원인은 jdbc URL에 TCP 설정을 하지 않았기에 발생합니다.

TCP를 설정하지않으면, 다중 접속이 불가능해집니다.

jdbc:/h2:tcp:~/{db명} 혹은 jdbc:/h2:tcp:./{db명} 을 하면 됩니다.

전자 방식을 사용시, C:\Users\{이름}\{db명}.mv.db 파일이 생성됩니다.

후자 방식을 사용시, h2\bin\{db명}.mv.db 파일이 생성됩니다.

(가능한 전자 방식을 사용해주세요. 후자 방식같은 경우에는 프로젝트 진행 시, 해당 프로젝트 디렉토리에 생기는 경우가 있습니다.)

그리고 jdbc url 뒤에 AUTO_SERVER=TRUE를 추가하여 Server 방식으로 사용하는 것이기에 해결방안이라고 보기 힘듭니다. FILE_LOCK=NO 이 방식으로 H2 Database Engine을 작동시키지 않고도 사용할 수 있습니다.

 

 

삽질 끝