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

이종현님의 프로필 이미지

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

H2 데이터베이스 설정

h2 database 연결 오류

작성

·

293

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]

선생님 h2에 서버 모드로 연결하려고 할 때 해당 오류가 발생합니다. 도와주세요 ㅜㅜ 도저히 저의 힘으로 해결 할 수가 없습니다.


IO Exception: "/Users/jonghyunlee/test outside /opt/homebrew/var/sonarqube/data" [90028-224] 90028/90028 (도움말)
org.h2.jdbc.JdbcSQLNonTransientException: IO Exception: "/Users/jonghyunlee/test outside /opt/homebrew/var/sonarqube/data" [90028-224]
    at
org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
    at
org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
    at
org.h2.message.DbException.get(DbException.java:223)
    at
org.h2.message.DbException.get(DbException.java:199)
    at
org.h2.engine.ConnectionInfo.setBaseDir(ConnectionInfo.java:250)
    at
org.h2.server.TcpServerThread.run(TcpServerThread.java:152)
    at java.base/java.lang.Thread.run(Thread.java:840)

    at
org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
    at
org.h2.engine.SessionRemote.readException(SessionRemote.java:650)
    at
org.h2.engine.SessionRemote.done(SessionRemote.java:619)
    at
org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:148)
    at
org.h2.engine.SessionRemote.connectServer(SessionRemote.java:438)
    at
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:330)
    at
org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125)
    at
org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288)
    at
org.h2.server.web.WebServer.getConnection(WebServer.java:811)
    at
org.h2.server.web.WebApp.login(WebApp.java:1039)
    at
org.h2.server.web.WebApp.process(WebApp.java:227)
    at
org.h2.server.web.WebApp.processRequest(WebApp.java:177)
    at
org.h2.server.web.WebThread.process(WebThread.java:154)
    at
org.h2.server.web.WebThread.run(WebThread.java:103)
    at java.base/java.lang.Thread.run(Thread.java:1583)

답변 2

0

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

H2를 homebrew에서 설치하셨을까요?

H2를 homebrew에서 설치하신게 맞다면 h2홈페이지에서 다운로드 하여 확인해보시겠어요?

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

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

이종현님, H2 데이터베이스의 연결 문제로 고민하고 계신 상황이신 것 같습니다. 제시하신 에러 메시지는 H2 데이터베이스 또는 서버 모드 연결 시 설정 문제로 보이며, 주로 경로 설정이나 권한, 데이터베이스 버전 호환성 문제 때문에 발생할 수 있습니다.

비슷한 문제를 겪고 계신 다른 수강생 분들께 제시된 해결책 중에서는, 데이터베이스 파일의 경로를 정확히 지정하거나, 서버 모드에서 데이터베이스에 올바르게 연결 설정하는 방법 등이 포함되어 있습니다.

일례로, 첫 번째 질문인 “h2 연결 오류”에서는 H2 콘솔 접속 문제가 다루어지며, 여러 해결 방안이 제시되었습니다. 특히, 데이터베이스 파일 접근 권한 문제나 경로 문제 등을 점검해보실 것을 권장합니다. 해당 케이스에서는 파일 접근 권한이 문제였으며, 이와 유사한 현상일 가능성이 있습니다.

또한, “JDBC 이해 강의에서 DB연결 에러”에서는 Database may be already in use 같은 연결 에러에 대한 해결 방안이 제시되었습니다. 이 경우에는 데이터베이스 파일이 사용 중이지 않은 상태에서 재접속을 시도하거나, H2 데이터베이스의 버전을 확인하는 점이 도움이 될 수 있습니다.

에러 메시지 IO Exception: "/Users/jonghyunlee/test outside /opt/homebrew/var/sonarqube/data"에 대해 보면, 경로 문제 또는 접근 권한 문제일 가능성이 높습니다. 특정 위치에 데이터베이스 파일 생성을 시도하나 접근 권한이 없거나 경로가 잘못 지정된 경우 나타날 수 있는 오류입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.