>  기사  >  Java  >  H2 인 메모리 데이터베이스에서 \"테이블을 찾을 수 없음\" 오류를 방지하는 방법은 무엇입니까?

H2 인 메모리 데이터베이스에서 \"테이블을 찾을 수 없음\" 오류를 방지하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-26 17:11:02852검색

How to Prevent

H2 인 메모리 데이터베이스: "jdbc:h2:mem:

사용 시 "테이블을 찾을 수 없음" 오류 해결 인메모리 데이터베이스에 연결을 시도할 때 "테이블 'TABLE_NAME'을 찾을 수 없습니다." 오류 메시지는 일반적으로 테이블 생성 후 닫혀서 데이터베이스가 테이블을 삭제하고 있음을 나타냅니다.

이 문제를 해결하려면 JDBC 연결 URL에 다음 매개변수를 추가해야 합니다.

;DB_CLOSE_DELAY=-1

예를 들어 수정된 연결 URL은 다음과 같습니다.

jdbc:h2:mem:test;DB_CLOSE_DELAY=-1

설명:

기본 구성(예: jdbc:h2:mem:test)을 사용하여 H2의 In-Memory 데이터베이스에 연결할 때 마지막 연결이 닫힐 때 데이터베이스 내용이 손실됩니다. JVM(Java Virtual Machine)이 실행되는 동안 데이터베이스가 열려 있도록 보장하는 DB_CLOSE_DELAY=-1을 설정해야 합니다. 이렇게 하면 명시적으로 데이터베이스를 닫거나 종료할 때까지 인메모리 데이터베이스의 내용을 유지할 수 있습니다. JVM.

이 구성 변경 사항은 "인 메모리 데이터베이스" 섹션 아래의 H2 기능 페이지에 설명되어 있습니다.

기본적으로 데이터베이스에 대한 마지막 연결을 닫으면 데이터베이스도 닫힙니다. 인메모리 데이터베이스의 경우 이는 콘텐츠가 손실됨을 의미합니다. 데이터베이스를 열어두려면 데이터베이스 URL에 ;DB_CLOSE_DELAY=-1을 추가하세요. 가상 머신이 살아 있는 동안 인메모리 데이터베이스의 내용을 유지하려면 jdbc:h2:mem:test;DB_CLOSE_DELAY=-1을 사용하십시오.

이 솔루션을 따르면 성공적으로 데이터베이스에 연결할 수 있습니다. 인메모리 데이터베이스를 사용하고 "테이블을 찾을 수 없음" 오류 없이 테이블 작업을 수행합니다.

위 내용은 H2 인 메모리 데이터베이스에서 \"테이블을 찾을 수 없음\" 오류를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.