Подключение к H2 дает: org.h2.jdbc.JdbcSQLException: уникальный индекс или нарушение первичного ключа: - PullRequest
0 голосов
/ 04 сентября 2018

При попытке подключиться к базе данных H2 с помощью общей командной строки, используя h2-1.4.197.jar, эта файловая база данных 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]

Вопрос: Почему происходит это нарушение и как его можно решить ???

1 Ответ

0 голосов
/ 04 сентября 2018

Использование h2 jar из Geonetwork (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

...