Trouble Shooting

[트러블슈팅] H2 DB 연결 오류 (맥)

  • -
728x90

김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편의 데이터베이스 스키마 자동 생성 강의 수강 중, update문이 실행되지 않아 해결법을 찾던 중 Hibernate ORM은 5.6.5Final 버전부터 H2 2.x.y버전을 지원한다고 하여 문제를 해결하려고 하였다.

이때 댓글로 강사님께서 "이후 강의까지 고려해서 아직은 h2 데이터베이스 1.4.200 버전을 사용하시는 것을 권장합니다." 라고 적어주셔서 h2를 다운그레이드(다운그레이드는 링크의 1.4.200 버전을 다운로드 하면 된다.)를 진행하던 중 오류가 발생하였다.

오류 상황

h2 콘솔에서 연결 오류가 아래와 같이 발생했다.

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

해결법

대부분의 해결법이 윈도우 기준이었는데, 다행히 맥도 비슷하였다.

사용자 > 본인이름 으로 된 폴더에 들어가서 test.mv.db를 검색한 뒤, 이를 지운다.

그리고 동일한 이름(test.mv.db)으로 다시 파일을 생성해준다. 필자는 vs code로 생성하였다.

 

추가오류

이후 실전 예제 1 - 요구사항 분석과 기본 매핑 강좌를 진행하던 도중, 바꾼 DB의 테이블이 삭제되지 않는 이슈가 발생하였다.

Cannot drop "ORDERS" because "FKT4DC2R9NBVBUJRLJV3E23IIBT" depends on it; SQL statement:
drop table ORDERS [90107-200] 90107/90107 (도움말)

이 문제를 구글링하던 와중, 김영한님께서 H2 1.4.200버전에서 발생하는 문제임으로, 해결이 되기 전까지는 H2 데이터베이스 1.4.199버전을 사용하기를 권장하시길래 DB를 다시 변경하였다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.