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

miy님의 프로필 이미지
miy

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

H2 데이터베이스 설치

h2 연결 오류

작성

·

2.5K

0

h2 콘솔에서 연결 버튼 누르면 밑의 메시지가 뜨고 안됩니다ㅜㅜ 어떻게 해결해야 하나요..?

 

IO Exception: null [90028-200] 90028/90028 (도움말)
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:832)
Caused by: java.lang.IllegalStateException: Could not open file nio:C:/Users/mimiy/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\mimiy\test.mv.db (액세스가 거부되었습니다)
    at java.base/java.io.RandomAccessFile.open0(Native Method)
    at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:347)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:261)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:216)
    at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:129)
    at org.h2.store.fs.FileNio.<init>(FilePathNio.java:43)
    at org.h2.store.fs.FilePathNio.open(FilePathNio.java:23)
    at org.h2.mvstore.FileStore.open(FileStore.java:153)
    ... 26 more

답변 3

0

 

이 에러메시지의  액세스 거부가 의아하네요,

C:\Users\mimiy\ test.mv.db가 존재하나요?

존재하지 않는다면 아래를 참고하여 test.mv.db를 직접 생성해주세요.

존재한다면 test.mv.db 삭제 하고 아래를 참고하여 재생성해주세요.

https://www.inflearn.com/questions/271461

miy님의 프로필 이미지
miy
질문자

test.mv.db 없어서 직접 생성했는데

File corrupted while reading record: null. Possible solution: use the recovery tool [90030-200] 90030/90030 (도움말)

이런 오류가 뜨면서 또 안되네요ㅜㅜ...어떻게 해야 할까요...?

서버실행 후 h2접속화면과 인텔리제이 콘솔 메시지 전체화면으로 보여주세요

miy님의 프로필 이미지
miy
질문자

인텔리제이 프롬프트에서 하는거였나요..? 여기서 하니까 연결되네요..ㅎㅎ

0

처음보는 에러메시지네요 .

우선 해결해본 에러는 아니라 인터넷에서 제공하는 방법들을 시도해보셔야 할 것 같아요.

제가 찾은 내용은

https://community.boomi.com/s/article/Caused-by-java-lang-IllegalStateException-The-file-is-locked-nio-authentication-h2server-keycloak-mv-db

브로커노드(헤드 노드)가 구체적으로 무엇인지 모르겠으나 혹 h2를 여러개 실행 시킨 상황을 얘기하는 것일수도 있을거 같아요. PC 재부팅 후 h2를 한번 실행시켜 확인해주세요.

 

0

안녕하세요.miy 님, 공식 서포터즈 OMG입니다.

스프링 애플리케이션을 실행 후 h2 연결을 시도해주세요 :)


감사합니다.

miy님의 프로필 이미지
miy
질문자

실행하고 연결했는데도 똑같아요ㅜㅜ

miy님의 프로필 이미지
miy
질문자

cmd 창에선 이렇게 뜹니다..

 

C:\Users\mimiy\Backend\h2\bin>h2.bat

org.h2.message.DbException: Log file error: "C:/Users/mimiy/test.trace.db", cause: "java.io.FileNotFoundException: C:\Users\mimiy\test.trace.db (액세스가 거부되었습니다)" [90034-200]

org.h2.message.DbException: Log file error: "C:/Users/mimiy/test.trace.db", cause: "java.io.FileNotFoundException: C:\Users\mimiy\test.trace.db (액세스가 거부되었습니다)" [90034-200]

        at org.h2.message.DbException.get(DbException.java:194)

        at org.h2.message.TraceSystem.logWritingError(TraceSystem.java:294)

        at org.h2.message.TraceSystem.openWriter(TraceSystem.java:315)

        at org.h2.message.TraceSystem.writeFile(TraceSystem.java:263)

        at org.h2.message.TraceSystem.write(TraceSystem.java:247)

        at org.h2.message.Trace.error(Trace.java:180)

        at org.h2.engine.Database.setBackgroundException(Database.java:2230)

        at org.h2.mvstore.db.MVTableEngine$1.uncaughtException(MVTableEngine.java:93)

        at org.h2.mvstore.MVStore.handleException(MVStore.java:2877)

        at org.h2.mvstore.MVStore.panic(MVStore.java:481)

        at org.h2.mvstore.MVStore.<init>(MVStore.java:402)

        at org.h2.mvstore.MVStore$Builder.open(MVStore.java:3579)

        at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:170)

        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:832)

Caused by: org.h2.jdbc.JdbcSQLNonTransientException: Log file error: "C:/Users/mimiy/test.trace.db", cause: "java.io.FileNotFoundException: C:\Users\mimiy\test.trace.db (액세스가 거부되었습니다)" [90034-200]

        at org.h2.message.DbException.getJdbcSQLException(DbException.java:505)

        at org.h2.message.DbException.getJdbcSQLException(DbException.java:429)

        ... 36 more

Caused by: java.io.FileNotFoundException: C:\Users\mimiy\test.trace.db (액세스가 거부되었습니다)

        at java.base/java.io.FileOutputStream.open0(Native Method)

        at java.base/java.io.FileOutputStream.open(FileOutputStream.java:291)

        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:234)

        at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:123)

        at org.h2.store.fs.FilePathDisk.newOutputStream(FilePathDisk.java:306)

        at org.h2.store.fs.FileUtils.newOutputStream(FileUtils.java:239)

        at org.h2.message.TraceSystem.openWriter(TraceSystem.java:311)

        ... 33 more

miy님의 프로필 이미지
miy

작성한 질문수

질문하기