개발 등/DATABASE

H2 Database, Database not found, either pre-create it or allow remote database creation (not recommended in secure environments) 오류

darkhorizon 2023. 5. 21. 11:08
728x90
반응형

H2 데이터베이스를 설치한 후

1. 실행하려고 할 때

2. 데이터베이스명을 수정한 후 재실행할 때

다음과 같은 에러가 나오면서 접속이 안되는 경우가 발생한다.

 

Database "C:/Users/.../test" not found, either pre-create it or allow remote database creation (not recommended in secure environments)

 

이유는 H2를 서버모드로 실행할 경우, 1.4.198 이후 버전부터는 보안 문제로 데이터베이스가 자동으로 생성되지 않기 때문이라고 한다.

 

해결방법은 

메모리 모드로 실행하여 디폴터 디렉토리에 데이터베이스를 생성한 다음 서버 모드로 실행하면 된다.

 

 

이렇게 하면 기본 디렉토리에 test.mv.db 라는 파일이 생성된다.

이후 

다음과 같이 접속하면 문제없이 접속할 수 있다.

 

 

* 새로운 데이터베이스를 생성할 때도

1. 메모리 모드로 데이터베이스 명을 바꿔서 접속한 후 디폴터 디렉토리에 newdbname.mv.db 라는 파일이 생성된 지 확인하고

2. 서버 모드로 변경하여 JDBC URL을 jdbc:h2:tcp://localhost/~/newdbname 으로 변경하여 접속하면 된다,,

728x90