trouble shooting

H2 오류해결 :: Database not found, either pre-create it or allow remote database creation(not recommended in secure environments) [90149-200]

TLdkt 2022. 9. 5. 13:15
728x90
반응형

✔️Quick Summary 

🔴오류 코드: 90149

🕑소요시간: 1분~5분

🚨원인: 데이터베이스가 미리 생성되어 있기 않았기 때문

 

💚해결책:

H2 version: H2 1.4.199 , H2 1.4.200 모두 가능

우선 데이터베이스를 embedded로 만들어줘야 한다.

(웬만하면 컴퓨터를 재시작하자)

1) embedded 선택

2) JDBC url에 jdbc:h2:~/test를 쓰고 실행

3) 사용자 경로에 test.mv 생성 확인

4)다시 연결  

 

 

 


🚨문제상황

안그래도 어렵게 느껴지는 DB인데 첫 시작부터 로딩이 안 되니 답답하기 이루 말할 수가 없었다

괜히 겁먹어서 눈에 들어오지도 않는 공식문서를 전전하다 갑자기 해결돼버렸는데....

간단하니 얼른 해결해보자 

 

👀첫 번째 오류: 

Database not found, either precreate it or allow remote database creation

(not recommended in secure environments) [90149-200]

 

환장하는 에러페이지

우선 첫 번째 오류 메세지는 이러했다. 

 

이때 선택할 수 있는 건 두 가지다

1. 다운그레이드하고 재시도

2, DB만들어서 재연결

 

1️⃣다운그레이드 버전 다운받기

https://code.google.com/archive/p/h2database/downloads

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

위 링크에 들어가면 1.3.XXX버전을 다운받을 수 있다

재설치해서 server 그대로 선택해 시도하면 된다

 

2️⃣embedded DB 우선 생성하기

⭐⭐컴퓨터를 재부팅하고 시작하는 것을 추천한다

재부팅 안 하고 바로 embeded 클릭했다가...

🚨 Database "~/test" not found, and IFEXISTS=true, so we cant auto-create it [90146-199]

이 오류를 만났기 때문이다^^

 

컴퓨터를 재부팅했다면 아래를 따라해보자 

1) embedded 선택 후 연결

 

2) 사용자 경로에 test.mv 생성 확인

 

3) 다시 server로 연결

 

💻작동원리

198버전 이후부터는 보안문제 때문에 데이터베이스 자동 생성을 지원하지 않는다고 한다. 그래서 다운그레이드 버전으로 시작하거나 미리 데이터베이스를 생성한 뒤 만드는 것이었다. 

참고로, 에러메세지를 구글링했는데 검색이 잘 안 된다면 H2  홈페이지에서 왼쪽 하단 Error Analyzer에 접속해 찾아볼 수 있다.

https://www.h2database.com/html/sourceError.html

 

Error Analyzer

Paste the error message and stack trace below and click on 'Details' or 'Source Code':

www.h2database.com

🚀앞으로 주의할 것

무조건 에러 화면에서 끙끙대지 말고 컴퓨터를 재시작해보거나... 등등 리프레쉬 후에 해결해야겠다고 생각했다 ㅎㅎ

시간계획을 세워둔 상태에서 에러가 터지면 스트레스를 받는데, 빨리 해결하고 싶다는 조급함 때문에 더 오래 끌었던 것 같다. 초기세팅에서 에러 터지는 거야 당연한 거고, 뭔가 문제가 있다면 잠시 머리를 식히고 돌아와서 시도해야지!

728x90
반응형