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

박재성님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

데이터베이스 연결 에러

작성

·

43

0

[질문 내용]
여기에 질문 내용을 남겨주세요.

2024-10-16T00:11:04.326+09:00  INFO 16884 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port 8080 (http)
2024-10-16T00:11:04.335+09:00  INFO 16884 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-10-16T00:11:04.336+09:00  INFO 16884 --- [  restartedMain] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.20]
2024-10-16T00:11:04.387+09:00  INFO 16884 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-10-16T00:11:04.387+09:00  INFO 16884 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1088 ms
2024-10-16T00:11:04.433+09:00  INFO 16884 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2024-10-16T00:11:06.881+09:00 ERROR 16884 --- [  restartedMain] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.ConnectException: Connection refused: getsockopt: localhost" [90067-224]

어플리케이션을 실행했더니 이러한 에러가 뜹니다... 제가 생각하기엔C:\Users\재성 이 폴더에 db파일이 없어서 생기는 오류같은데 어떻게 해결해야할 지 모르겠습니다... 다른 강의 이것저것 번갈아가면서 듣다 보니 db파일을 삭제했다가 새로 만들고 반복했었는데 오랜만에 강의 들으니까 db에서 오류가 발생합니다ㅠ

답변 3

0

안녕하세요. 박재성님, 공식 서포터즈 y2gcoder입니다.

댓글 처럼 h2 db를 실행한 상태에서 db 파일 생성이 된 상태로 애플리케이션을 실행하셔야 합니다!

db 파일을 수동으로 생성하는 방법은 다음 링크(클릭) 을 참고해주십쇼!

그리고 올려주신 캡처를 봤을 때 두 가지를 제안해드리고 싶습니다!

  1. 개발 관련한 부분들은 가급적이면 C 드라이브로 옮겨주시면 좋을 것 같습니다! 윈도우는 보통 C 드라이브에서 개발환경을 구축했을 때 에러가 덜 나는 것 같습니다 🙂

  2. 중간 경로에 한글이 있으면 안됩니다! 개발할 때는 무조건 중간 경로는 영어여야 합니다! 사용자 이름은 다음 링크(클릭) 등을 참고해서 영어로 바꿔주실 수 있습니다! 그리고 onedrive 경로라면 onedrive도 피해서 개발 환경을 구축해주십쇼!

감사합니다.

0

박재성님의 프로필 이미지
박재성
질문자

image.png

cmd로 H2 데이터베이스를 수동으로 실행한 후 연결해보았는데 예상대로 파일이 없다고 뜹니다..! 혹시 DB 파일 생성을 어떻게 할까요?

0

안녕하세요, 인프런 AI 인턴입니다. 박재성님.

데이터베이스 연결 중 Connection is broken: "java.net.ConnectException: Connection refused: getsockopt: localhost" [90067-224] 오류가 발생하는 경우, 주로 H2 데이터베이스와의 연결이 원활하지 않을 때 나타납니다. 이 오류는 다음과 같은 원인으로 발생할 수 있습니다:

  1. H2 데이터베이스가 실행되지 않음: H2 서버 모드로 실행되어야 하는데, 실행되지 않았습니다. H2 데이터베이스를 수동으로 실행해 보세요.

  2. 파일이 없거나 손상됨: 데이터베이스 파일이 없거나 손상되었을 수 있습니다. 이 경우, 새로운 H2 데이터베이스 파일을 생성해야 할 수도 있습니다.

  3. 잘못된 JDBC URL 설정: JDBC URL이 정확한지 확인해야 합니다. 서버 모드에서 실행할 때는 URL이 jdbc:h2:tcp://localhost/~/databaseName 형식이어야 합니다.

유사한 문제를 겪었던 다른 사용자들의 질문과 답변들도 도움이 될 수 있습니다:

이 외에도 데이터베이스 파일을 새로 생성하거나 기존 설정을 재확인하여 문제를 해결할 수 있습니다.

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