连接到H2给出:org.h2.jdbc.JdbcSQLException:唯一索引或主键冲突:

问题描述 投票:0回答:1

尝试使用通用命令行使用h2-1.4.197.jar连接到H2数据库,此H2文件数据库来自Geonetwork 3.2实例。

使用以下字符串: java -cp h2*.jar org.h2.tools.Shell -user "admin" -password "gnos" -url "jdbc:h2:~/git/geonetwork/geonetwork" -driver org.h2.Driver -sql "SELECT 1"

我获得以下例外: Exception in thread "main" org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement: ALTER TABLE PUBLIC.CATEGORIESDES ADD CONSTRAINT PUBLIC.FK_69P88C8991LETUOQ16JDDI307 FOREIGN KEY(IDDES) REFERENCES PUBLIC.CATEGORIES(ID) NOCHECK [23505-197]

问题:为什么会发生这种违规行为以及如何解决?

h2 geonetwork
1个回答
0
投票

使用Geonetwork的h2 jar(h2-1.3.174.jar)允许访问数据库:

java -cp h2-1.3.174.jar org.h2.tools.Shell -user "admin" -password "gnos" -url "jdbc:h2:~/git/geonetwork/geonetwork" -driver org.h2.Driver -sql "SELECT 1" 1 1 (1 row, 4 ms)

问题是由于h2版本不正确造成的

© www.soinside.com 2019 - 2024. All rights reserved.