본문 바로가기
LEARN/ERROR

[H2 Database] Unsupported database file version or invalid file header in file "C:/Users/user/test.mv.db" [90048-224] 90048/90048

by 아이엠제니 2024. 1. 16.

 

 

os: windows 11 home

web browser: chrome


 

 

💡 H2 Database Error

[스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술]을 실습하던 중, 섹션 6 스프링 접근 기술 부분에서 'H2 데이터베이스 설치' 부분을 하는데!

H2 db에서 JDBC URL을 강의에 나와있는 것처럼 따라하면 접속이 되질 않았다.

 

Unsupported database file version or invalid file header in file "C:/Users/user/test.mv.db" [90048-224] 90048/90048

 

혹시나 이전에 H2 db를 설치했던 것때문에 그런 건가 싶어서, 지우고도 해봤지만?

또 다른 에러가 나타났다.

구글링을 하다 보니, '인프런' 내에서도 누군가 비슷한 질문을 하고 답변을 했던데!

그 답변에서 역시 H2 db를 삭제한 후에, 사용자에 있는 `test.mv.db`도 삭제하라고 했다.

그리고 다시 H2 db를 설치하면, 사용자에 `test.mv.db`가 생길 거라고 했는데?

생기질 않았다.

 

 

 

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

위처럼 에러가 나오는 건, `C:\Users\user` 이 경로에 `test.mv.db` 파일이 없기 때문이다.

직접 생성해줄 수도 있겠는데?

 

 

 


💡 test.mv.db 파일 생성

구글링 하다가 또 해결 방법을 발견했다.

 

https://blog.naver.com/jtcjtc/223117129981

 

이 분 블로그 참고해서 해결함.

 

 

작업표시줄에 '숨겨진 아이콘 표시'를 보면!

`H2 Database Engine`가 있다. 

 

 

그 아이콘에 마우스 커서를 두고, 오른쪽 버튼을 클릭하면!

이렇게 메뉴가 나오는데, 거기서 'Create a new database...'를 클릭한다.

 

 

그러면 이런 화면이 나오는데, `Database path`에 유저 경로를 적어준다.

user까지가 디렉터리이고, 마지막에 test는 파일명이기 때문에 반드시 적어야 하는 것 같다.

그리고 'Create' 버튼을 클릭한다.

 

 

그럼 이렇게 'Database was created successfully.' 문구를 볼 수 있다.

 

 

그리고 실제 경로로 가보면 이렇게 `test.mv.db` 파일이 생긴 걸 볼 수 있다.

 

 

 


💡 또 다른 Error

Wrong user name or password [28000-224] 28000/28000

이 에러는 너무나도 쉽게, 패스워드 에러였다.

기존에는 패스워드 설정이 따로 없었기 때문에, 연결만 클릭하면 연결이 되었다.

하지만 바로 직전에 db를 새로 생성하면서 패스워드를 지정했기 때문에!

패스워드만 잘 입력해 주면 해결될 문제다.

 

 

드디어 접속 완료!

생각해 보니, 이전에 따라했을 때는 강의에 있는 그대로 따로 해도 됐었는데...

h2 db도 버전이 바뀌면서, 달라진 부분들이 있었다.

내가 참고한 블로그를 보니, 이전 버전에서는 `test.mv.db`를 자동으로 생성해 주었던 것 같은데!

현재는 아니라는 점을 참고해서 나중에 같은 상황이 발생했을 때는 이 글 보면서 해결을 하도록 해야겠다. (물론 그때 가면 상황이 또 달라질 수도..)

 

 

 

300x250