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

나이스에요님의 프로필 이미지
나이스에요

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - H2 데이터베이스 연동

Database "mem:testdb" not found 에러 해결 방법

작성

·

81

2

가장 최신 버전으로 H2와 Spring Boot를 활용하신다면
spring-boot-starter-jdbc 추가하시면 바로 연결 가능합니다.

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <version>3.3.5</version>
</dependency>

image.png

추가적인 작업(JPA 유도 등)을 하지 않아도 바로 접속이 가능합니다~!

 

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

정보 공유 감사드립니다!

추가로, 강의에서 말씀드린 H2 버전 외에, 최신 버전을 사용하시면 h2 console에 대한 접속은 문제 없는 것 같습니다.

스크린샷 2024-11-05 오전 8.10.39.png.webp

 

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 나이스에요님.

H2 데이터베이스 연결 시 ‘Database “mem:testdb” not found’ 에러를 해결하고자 하시는군요. Spring Boot와 H2 데이터베이스 연결 관련하여, jdbc URL 설정에 문제가 발생할 수 있습니다. 예전에 비슷한 이슈를 다루었던 질문들을 기준으로 몇 가지 중요한 포인트를 말씀드리겠습니다.

관련 질문들:

  1. user-service h2-console연결이 안됨

    • 문제: H2 콘솔이 “mem:testdb”와 연결되지 않음.
    • 해결책: 최신 H2 버전을 사용할 경우 설정에서 spring.datasource.generate-unique-name: false를 추가하고, H2 버전을 낮추어 시도해 볼 수 있습니다.
  2. JDBC URL 설정 시 Database not found 에러 해결 방법

    • 문제: 자동으로 달라지는 데이터베이스 이름으로 인한 문제.
    • 해결책: H2 데이터베이스 URL을 설정할 때 jdbc:h2:mem:testdb와 동일한 문자열을 모든 위치에 일관되게 사용하는 것이 중요합니다.

추가 정보:

  • 소스코드 기반 설정:

    • spring.datasource.url=jdbc:h2:mem:testdb를 사용하십시오. 이 설정이 application.yml / properties 파일에 잘 적용되어야 정상적으로 동작할 수 있습니다.
    • 또한, spring.datasource.driver-class-name=org.h2.Driver도 필요합니다.
  • H2 버전 문제:

    • H2 데이터베이스의 최신 버전은 기존의 방식과 약간의 차이가 있을 수 있습니다. 버전 간의 불일치를 확인하고 필요할 경우 이전 버전으로 전환하는 것도 방법 중 하나입니다.

구체적인 상황에 따라 적절히 설정을 변경하거나 추가적인 라이브러리를 확인하시면 연결 문제 해결에 도움이 되실 것입니다.

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

나이스에요님의 프로필 이미지
나이스에요

작성한 질문수

질문하기