H2 Database - Throwing General error: "java.lang.IllegalStateException: Unable to read the page at position 2199023614787

H2 Database - Throwing General error: "java.lang.IllegalStateException: Unable to read the page at position 2199023614787

我正在开发一个使用 H2 数据库的应用程序。过去使用此技术没有任何问题,但是当下载 h2 数据库的新副本并 运行 安装 jar 时,我无法使用默认设置登录!我是 运行ning h2-1.4.200.jar 并且收到了:

General error: "java.lang.IllegalStateException: Unable to read the page at position 2199023614787 [1.4.200/6]" [50000-200] HY000/50000 (Help)

我正在尝试 运行 默认设置只是为了连接到数据库,但似乎没有任何效果。我已经尝试了以下但没有运气,以及 github 等其他一些来源:

Embedded H2 Database “NonTransientError: Unable to read the page at position” error?

我在我的项目中使用了以下依赖项:

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.200</version>
    </dependency>

并下载了对应的同版本H2数据库 - 1.4.200

过去有没有其他人在使用 H2 数据库时遇到过这样的问题?我收到的错误如下图所示:

H2数据库控制台错误1:

任何帮助将不胜感激,我还尝试在我的 Maven 依赖项和 h2 运行ning - h2-1.4.190![=18 版本中降级到版本 1.4.190 =]

已通过下载不同的版本解决此问题 1.4.199 最新的稳定版本。看起来是 1.4.200 的某种错误!

如本文所述post github.com/h2database/h2database/issues/2078

也有可能是数据库文件损坏了 或某些东西弄乱了数据库结构,现在无法读取

找出问题所在有点困难,但您可以创建新的数据库并使用它。 无需更改H2版本。

在我的例子中,我使用的是这样的基于文件的数据库

C:/Users/ashish/data/code_base/H2/H2

所以我只是更改了文件名以再次创建新数据库,如下所示 并且有效

C:/Users/ashish/data/code_base/H2/NEW_H2