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

최용호님의 프로필 이미지
최용호

작성한 질문수

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

Hello JPA - 애플리케이션 개발

H2 데이터베이스 하나 더 생성하는 방법알수있을까요?

작성

·

1.1K

0

기존에 쓰던 H2 데이터베이스말고 하나더 생성하고 싶어서 구글링해서 따라해봐도 알수없는 오류만 나오네요.. 

구글링 해봐도 안나와서 올려봅니다. ㅠㅠ 갖은 삽질은 다해봐도 모르겠네요 

답변 4

0

최용호님의 프로필 이미지
최용호
질문자

여기서 h2w는 실행이안되구  h2 배치파일 실행시키면 

이렇게 엑세스거부뜨거나 관리자권한으로 실행시키면 ClassNotFoundException 뜨네요

난감하네요.

 

C:\Users\사용자이름 폴더 아래에 [만들고자하는DB이름].mv.db 형태의 파일을 만들어주시겠어요?

ex) jpashop.mv.db

윈도우의 경우 우클릭 - 새로만들기 통해 파일을 만들 수 있습니다.

 

만드셨다면 바로 h2 콘솔에서 접근 시도해보세요.

 

그래도 안 된다면 H2 재설치 후 시도 부탁드립니다.

최용호님의 프로필 이미지
최용호
질문자

감사합니다 .mv.db 형태로 만들고 입력하니까 만들어지네요! 혹시 번거로우시겠지만 왜그런지 알려주실수있나요 C:\Users\사용자이름 폴더 아래 제가 h2 삭제한다고 h2.server.properties  .mv.db  trace 3개인가 4개 파일까지 삭제했었는데 자동으로 만들어지는 파일인줄알았는데 아니였나보네요.

저도 자세한 이유까지는 모르겠네요^^;

0

최용호님의 프로필 이미지
최용호
질문자

 

뭐가 문제인지 감이안잡히네요

디버그가안되서 윈도우10 한글계정 영어로 바꾼뒤부터 이러네요 레지스트리 다찾아서 이름 변경도 해놨는데도 그러네요...ㅋㅋ

0

최용호님의 프로필 이미지
최용호
질문자

org.h2.jdbc.JdbcSQLNonTransientException: IO Exception: null [90028-200]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:505)
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)
    at org.h2.message.DbException.get(DbException.java:194)
    at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:210)
    at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:182)
    at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:103)
    at org.h2.engine.Database.getPageStore(Database.java:2659)
    at org.h2.engine.Database.open(Database.java:675)
    at org.h2.engine.Database.openDatabase(Database.java:307)
    at org.h2.engine.Database.<init>(Database.java:301)
    at org.h2.engine.Engine.openSession(Engine.java:74)
    at org.h2.engine.Engine.openSession(Engine.java:192)
    at org.h2.engine.Engine.createSessionAndValidate(Engine.java:171)
    at org.h2.engine.Engine.createSession(Engine.java:166)
    at org.h2.engine.Engine.createSession(Engine.java:29)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:340)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152)
    at org.h2.Driver.connect(Driver.java:69)
    at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:309)
    at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:289)
    at org.h2.server.web.WebServer.getConnection(WebServer.java:785)
    at org.h2.server.web.WebApp.login(WebApp.java:1008)
    at org.h2.server.web.WebApp.process(WebApp.java:223)
    at org.h2.server.web.WebApp.processRequest(WebApp.java:173)
    at org.h2.server.web.WebThread.process(WebThread.java:139)
    at org.h2.server.web.WebThread.run(WebThread.java:94)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: Could not open file nio:C:/Users/yong/test.mv.db [1.4.200/1]
    at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950)
    at org.h2.mvstore.FileStore.open(FileStore.java:179)
    at org.h2.mvstore.MVStore.<init>(MVStore.java:381)
    at org.h2.mvstore.MVStore$Builder.open(MVStore.java:3579)
    at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:170)
    ... 23 more
Caused by: java.io.FileNotFoundException: C:\Users\yong\test.mv.db (액세스가 거부되었습니다)
    at java.base/java.io.RandomAccessFile.open0(Native Method)
    at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:346)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:260)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:215)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:128)
    at org.h2.store.fs.FileNio.<init>(FilePathNio.java:43)

 

삭제해보고 ~ .  둘다 해봤습니다.. 뭔질 모르겠네요

위 로그는 testJpa DB를 만드려고 하시는데 발생하시는 에러 로그인가요?

 

h2를 종료하시고.

h2를 다시 실행하실 때 "우클릭 - 관리자 권한으로 실행"하셔서 다시 해보시겠어요?

0

안녕하세요. 최용호님, 공식 서포터즈 David입니다.

.
Database path에서 제일 앞에 .(점) 대신에 ~(물결)을 넣어서 다시 생성해보시겠어요?

H2에서 데이터베이스 파일을 생성하는 곳의 기본값이 현재 사용자 폴더(윈도우에서는 ~)라서요.

./testJpa => ~/testJpa

.
감사합니다.

최용호님의 프로필 이미지
최용호

작성한 질문수

질문하기