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

뽀삐님의 프로필 이미지
뽀삐

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

Hello JPA - 프로젝트 생성

h2 오류

작성

·

1.5K

1

h2 파일에서 bin 파일 h2.bat 접속하여 강의 대로 연결 했는데 이런 오류가 뜨네요 구글링해도 해결방법이 안나와요..

Unsupported database file version or invalid file header in file "C:/Users/tlswo/test.mv.db" [90048-214] 90048/90048 (도움말)
org.h2.jdbc.JdbcSQLNonTransientConnectionException: Unsupported database file version or invalid file header in file "C:/Users/tlswo/test.mv.db" [90048-214]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:678)
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:477)
    at org.h2.message.DbException.get(DbException.java:212)
    at org.h2.mvstore.db.Store.convertMVStoreException(Store.java:161)
    at org.h2.mvstore.db.Store.<init>(Store.java:145)
    at org.h2.engine.Database.<init>(Database.java:324)
    at org.h2.engine.Engine.openSession(Engine.java:92)
    at org.h2.engine.Engine.openSession(Engine.java:222)
    at org.h2.engine.Engine.createSession(Engine.java:201)
    at org.h2.server.TcpServerThread.run(TcpServerThread.java:175)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.h2.mvstore.MVStoreException: The write format 1 is smaller than the supported format 2 [2.1.214/5]
    at org.h2.mvstore.DataUtils.newMVStoreException(
DataUtils.java:1004)
    at org.h2.mvstore.MVStore.getUnsupportedWriteFormatException(MVStore.java:1066)
    at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:886)
    at org.h2.mvstore.MVStore.<init>(MVStore.java:463)
    at org.h2.mvstore.MVStore$Builder.open(MVStore.java:4082)
    at org.h2.mvstore.db.Store.<init>(Store.java:136)
    ... 6 more

    at org.h2.message.DbException.getJdbcSQLException(DbException.java:678)
    at org.h2.engine.SessionRemote.readException(SessionRemote.java:637)
    at org.h2.engine.SessionRemote.done(SessionRemote.java:606)
    at org.h2.engine.SessionRemote.initTransfer(SessionRemote.java:163)
    at org.h2.engine.SessionRemote.connectServer(SessionRemote.java:433)
    at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:325)
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:122)
    at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288)
    at org.h2.server.web.WebServer.getConnection(WebServer.java:808)
    at org.h2.server.web.WebApp.login(WebApp.java:1033)
    at org.h2.server.web.WebApp.process(WebApp.java:226)
    at org.h2.server.web.WebApp.processRequest(WebApp.java:176)
    at org.h2.server.web.WebThread.process(WebThread.java:152)
    at org.h2.server.web.WebThread.run(WebThread.java:101)
    at java.base/java.lang.Thread.run(Thread.java:834)

답변 2

파일에서 검색했다는게 무슨 말씀인지 이해가 안됩니다.

내 pc에 설치된 test.mv.db의 파일을 삭제 요청드린 것입니다. 웹사이트와는 무관합니다.

c드라이브-> Users폴더 클릭 -> 계정명(tlswo) 폴더 클릭 -> test라는 이름의 파일을 삭제 하고,

h2를 1.4.200으로 설치하시면 됩니다.

댓글대로 진행하시고, 동일한 증상일 경우 댓글남겨주세요

0

안녕하세요. 뽀삐님, 공식 서포터즈 OMG입니다.

  • 기존에 설치한 H2와 C:/Users/tlswo/test.mv.db" 해당 경로의 test.mv.db를 삭제해주세요.

  • h2는 1.4.200을 설치해주세요

  • pom.xml은 아래 코드를 사용해주세요


     

자바8

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jpa-basic</groupId>
    <artifactId>ex1-hello-jpa</artifactId>
    <version>1.0.0</version>
   
    <dependencies>
        
        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.13.Final</version>
        </dependency>
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.200</version>
        </dependency>


    </dependencies>
    
</project>

자바11

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jpa-basic</groupId>
    <artifactId>ex1-hello-jpa</artifactId>
    <version>1.0.0</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>

        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.13.Final</version>
        </dependency>
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.200</version>
        </dependency>


    </dependencies>
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
</project>

설정을 맞춘 후 강의에서 영한님이 설명드리는 h2 연결부터 순차적으로 진행해서 확인해주세요

감사합니다.

뽀삐님의 프로필 이미지
뽀삐

작성한 질문수

질문하기