최근 H2 DataBase를 테스트 환경으로 구성하여 프로젝트를 진행하는 것이 있었다.

 

Spring Boot에 Connection정보를 입력하기 위해서 h2 db를 설치를 해두었는데..

설치는 어렵지 않았지만 db connection이 되지 않았다.

 

 

 

 

찾아보니,

 

원래대로라면 h2 서비스 기동 후, 기본 설정으로 H2 Embeded로 되어있는데,

H2 Embeded는 DB가 없는 경우, 데이터베이스 파일을 자동 생성해준 뒤 연결을 해주는 구조라고 한다.

 

하지만 최근에 보안상의 이슈로 인해서 파일을 생성해주지 않고 있고, 그로 인하여 데이터베이스 파일을 찾을 수 없으니 연결이 되지 않는 것이다.

 

해결 방법은 의외로 간단한데,

Config 정보는 Generic H2 (Embedded)

jdbc url이 jdbc:h2:~/test로 초기 지정이 되어있을텐데,

 

Config 정보를 Generic H2 (Server)로 바꾸면

jdbc url이 jdbc:h2:tcp://localhost/~/test 이렇게 바뀔 것이다.

 

이후에 사용자 폴더로 들어가서 (/Users/{username})

"test.mv.db"파일을 만들어준 뒤 연결하면 정상적으로 접속이 되는 것을 볼 수 있다.

 

 

 

위 내용은 mac os 기준 작성이 되었으므로 windows기준은 다를 수도 있습니다.

'-Java' 카테고리의 다른 글

Boxing, UnBoxing 그리고 Wrapper  (0) 2017.10.03
JUnit  (0) 2017.09.29
Naming Convention, Camel Case  (0) 2017.09.26
String 비교  (0) 2017.08.24

+ Recent posts