试图使用使用h2-1.4.197.jar的通用命令行连接到H2数据库,这个H2文件数据库来自一个Geonetwork3.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]
问:为什么会发生这种违法行为,如何解决?
发布于 2018-09-04 14:43:12
使用来自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版本引起的。
https://stackoverflow.com/questions/52168556
复制相似问题