1

我正在开发一个使用 H2 数据库的应用程序。过去使用此技术没有问题,但是当下载 h2 数据库的新副本并运行 jar 时,我无法使用默认设置登录!我正在跑步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 等上的一些其他来源:

嵌入式 H2 数据库“NonTransientError: Unable to read the page at position”错误?

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

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

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

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

H2数据库控制台错误1:

在此处输入图像描述

任何帮助将不胜感激,我还尝试在我的 maven 依赖项和运行的 h2 版本中降级到版本 1.4.190 - h2-1.4.190

4

2 回答 2

6

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

如这篇文章 github.com/h2database/h2database/issues/2078 中所述

于 2020-07-13T13:26:47.790 回答
0

数据库文件也可能损坏或数据库结构混乱,现在不可读

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

就我而言,我正在使用这样的基于文件的数据库

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

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

C:/Users/ashish/data/code_base/H2/NEW_H2
于 2020-11-26T08:29:31.007 回答