인프런 커뮤니티 질문&답변

조원준님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

h2 database not found

작성

·

19K

7

jpashop 데이터베이스를 찾을 수 없다고 나옵니다.  

jpashop 말고 test로 하면 연결이 정상적으로 잘 됩니다.

제 생각엔 test.mv.db 파일이 있는거 보니 jpashop.mv.db 파일이 생성되지 않아서  생기는 문제점 같습니다.

이와 같은 문제점을 다른 글에서도 봤지만 해결이 안되었고 몇시간 동안 삽질중입니다...

"hello 프로젝트 생성" 이라는 영상에 설명을 해놓으셨다고 하셨는데 어디에 설명이 있는지 들어도 해결이 되지 않습니다

데이터베이스 2개이상 생성은 안되는 건가요?? 

답변 14

7

실전 예제 1을 수행하는 과정에서 jpashop이라는 새로운 데이터베이스를 만들어야했고,

다시 동일한 문제가 발생하였습니다.

 

localhost와 Embedded등 구글링 검색과 답변을 통한 해결을 해보려고 했으나 해결되지 않았습니다.

 

그러나!! 해결방법을 새로 알게되어, 저처럼 고생하시는 분들이 있을 것 같아 해당 내용 공유드립니다.

1. 1.3.XX 버전으로 다운그레이드하여 자동생성 기능을 이용합니다. 이 경우, 주소창에 IP부분을 localhost로 바꾸고 Embedded로 변경해서 생성하는 방법을 사용할 경우 해결됩니다.

 

2. 우측 하단, 트레이에 보시면 H2 Database Engine이 있습니다... 우클릭을 해서 Create New Database를 해서 생성해줍니다...

저는 바보였습니다... 이미 다운그레이드를 해버렸거든요...

그래서 다운그레이드하고서야, 남아있던 최신 버전의 잔재를 발견하고 해당 방법 공유드립니다.

아마 될 것 같은데, 직접 해보지 않아서 확신은 못하겠네요. 아마 될겁니다. 이 방법을 통해 다들 시간을 아끼시길 바랍니다.

와 몇시간 동안 헤맸는데 강민님과 원준님꺼 보고 해결했습니다 감사합니다
몇가지 빠진 점 추가하자면
처음 조원준님 base에 jpashop.mv.db을 어떻게 만들었는지 이해가 안됐습니다. 잘 만들어지지도 않았고요.
그래서 제가 해결한 방법은 h2폴더의 bin폴더에서를 기준으로 한 절대경로로 base까지 이동한 다음 마지막에 jpashop을 기입한다면 원준님 사진처럼 나옵니다. 그리고 해결됩니다 ex)../../../../jpashop 이런식으로요
강의 듣느라 고생많으신데 빨리 해결하고 넘어가시면 좋겠습니다!

5

조원준님의 프로필 이미지
조원준
질문자

성공했습니다.... 빠른답변 감사드립니다 ㅠㅠ 

localhost:8082/?key=~~~ 로 들어가서 

접속하면 

http://localhost:8082/login.jsp?jsessionid=51a59f60aa5f171b674626919c484d86

이런식으로 주소가 바뀌어져서 접속이됩니다.

url 을

jdbc:h2:~/jpashop 

으로 설정하니까 성공했어요.

감사합니다 ^^ 

감사합니다. 띄워진 웹사이트 주소창에서 앞의 IP를 localhost로 바꾸는게 답이었네요.

3

이 방법으로 해결했습니다.

  1. 윈도우 하단 시작표시줄에 우측 h2 바로가기 아이콘 우 클릭 후 create a new database 클릭

  2. Database path에 오류가 나던 경로를 그대로 복사. 저같은 경우는 C:Users/user/jpashop

  3. 유저네임이랑 비번 설정 후 create한 뒤

  4. 연결하시면 됩니다. (배치 실행 후 나오는 h2접속 화면에서 했을 때 됐음. localhost로 바꿔서 해도 됐음.. 다 되는 것 같음. 핵심은 어떻게 database를 create하느냐 인 것 같습니다. h2 버전은 2.2 최신버전 사용했어요.)

2

./h2.sh로 h2 실행한 후 맥이든 윈도우든 상단이나 우측하단의 h2아이콘을 클릭한 후 create new database를 생성합니다. 여기서 그냥 넣게되면 h2의 bin폴더에 생성되면서 제대로 실행이 안됩니다.
그래서 제가 해결한 방법은 h2폴더의 bin폴더에서를 기준으로 한 절대경로로 base까지 이동한 다음 마지막에 jpashop을 기입한다면 원준님 사진처럼 나옵니다. 그리고 해결됩니다 ex)../../../../jpashop 이런식으로요
강의 듣느라 고생많으신데 빨리 해결하고 넘어가시면 좋겠습니다!

정리하자면
1. ./h2.sh 실행
2. h2아이콘에서 create new database
3. 절대경로로 h2/bin에서 base경로까지 이동해 jpashop으로 파일이름 넣기
4. jdbc:h2:tcp://localhost/~/jpashop 이후 실행되실겁니다

말씀주신 절대경로로 만들었더니 깔끔하게 해결되었습니다. 감사합니다!

1

기존의 예제를 활용해 직접 구현을 해보려고 새로운 프로젝트를 적용하려 했을 때 db 생성이 되지 않았었습니다. 다른 모든 방법들을 통해 해결하지 못했었습니다만 다음의 방법으로 해결하였으니 다들 참고하시면 좋을 것같습니다. 아래처럼 기존에 있던 DB를 복사해서 이름만 바꿔주었더니 해결되었습니다.  해결은 하였으나 원인은 모르고 있습니다. 혹시 원인을 아시는분 댓글 남겨주시면 감사합니다.

 

1

김영한님의 프로필 이미지
김영한
지식공유자

ㅎㅎ 축하드려요. 활용편에는 이 내용이 대략 들어가 있는데 기본편 설명에도 좀 더 자세히 추가해야겠네요.

즐거운 코딩하세요^^!

1

김영한님의 프로필 이미지
김영한
지식공유자

앞에 ip를 localhost로만 딱 바꿔주세요. 뒤에 key는 건들면 안되요^^!

localhost:8082?key=xxx 이런식으로요

1

김영한님의 프로필 이미지
김영한
지식공유자

h2데이터베이스를 완전히 콘솔에서 종료하고(웹브라우져 종료 아님!!) 다시 실행해보시겠어요?

.h2.sh 파일을 다시 실행하면 웹 사이트가 자동으로 열리는데요. 이때 열리는 웹사이트는 어드민 세션을 가지고 열립니다. (url잘 보면 뒤에 세션키가 있어요)

이렇게 새로 띄워진 h2 웹사이트에서 제가 설명드린데로 한번 시도해보세요!

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요^^!
엄청 고생하셨군요 ㅠㅠ

https://www.inflearn.com/course/ORM-JPA-Basic/lecture/21684

hello 프로젝트 생성 강의를 열어보시면 강의 영상 바로 아래에 데이터베이스 생성 안내글이 적혀있습니다^^!

추가로 잘 안되시면 h2데이터베이스를 콘솔에서 끄신 다음에 다시 띄우고 안내대로 진행하시면 됩니다.

잘 안되시면 답글 남겨주세요^^

0

1.3. xxx 버전 다운그레이드로 해결했습니다

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. ᄂᄉᄌ님

정확한 원인을 알기가 쉽지 않네요. H2 데이터베이스 버전 문제일 수 있습니다.

jpashop.mv.db 파일을 삭제하시고, H2 데이터베이스도 전부 삭제하신 다음에 PC를 재부팅해주세요.

그리고 H2 데이터베이스를 .199 버전 말고 .200 버전으로 설치하고 처음부터 다시 진행해보시겠어요?

0

안녕하세요!

mv.db 파일도 생성되어 있고 아래처럼 Server와 Embedded 설정으로 시도해보았는데

전부 Connection is broken: "java.io.EOFException: localhost 에러가 나고 있습니다ㅜㅜ

이 에러는 구글링을 해도 안나오고 어떻게 해야할지 모르겠네요..

혹시 이런 상황에서는 어디를 봐야 할까요..??

0

조원준님의 프로필 이미지
조원준
질문자

예전에는 웹페이지가 느리긴 해도 열리긴 했는데 

무한로딩 되면서 열리지가 않네요 ㅜㅜ 

0

조원준님의 프로필 이미지
조원준
질문자

다 해보았던 내용입니다. ㅠㅠ 

오류 번호도 900149 인데 

오류내용은

The error with code 90149 is thrown when trying to open a database that does not exist remotely without enabling remote database creation first.

jpashop.mv.db 파일이 생성이 안됩니다

test 데이터베이스를 그냥 다 밀고 사용할까 생각중입니다... 안되면 ㅠ