Seite 1 von 13

Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 27. September 2018, 17:10
von jacky_smith
Hallo,

aktuell arbeite ich mit Jameica 2.6.1, Hibiscus 2.6.20 und JVerein 2.8.17.
Da ich auf eine neuere Hibiscus-Version updaten wollte, war auch Jameica auf 2.8.x upzudaten.
Die beiden Plugins Hibiscus und JVerein konnte ich zwar jeweils auf der 2.8-Version von Jameica installieren, aber bei JVerein erscheinen keinerlei Daten der bislang existierenden Datenbank. Vielmehr kommt die Fehlermeldung "Fehler beim Initialisieren der Datenbank".

Da mit diesen Daten alleine natürlich keine Hilfestellung möglich ist, habe ich die Log-Datei noch angehängt. Zugegebenermaßen kann ich damit nichts anfangen. Aber vielleicht kann sich jemand ein Bild hiervon machen bzw. einen Lösungsvorschlag.

Ich danke jetzt schon für Euer Bemühen.

Viele Grüße
jacky_smith

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 27. September 2018, 21:40
von NicoB77
Die in Jameica 2.8.2 verwendete H2-Version ist defekt. Version 1.4.96 scheint zu funktionieren: viewtopic.php?f=8&t=4519.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Freitag 28. September 2018, 14:02
von jacky_smith
Besten Dank für die Antwort.

Du meinst natürlich die H2-Version 1.4.196. Und mit der wird JVerein auch korrekt geöffnet.

Mal sehen, ob mit der Jameica-Version 2.8.3 der Fehler beseitigt ist.

Nochmals danke und viele Grüße
jacky_smith

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Samstag 29. September 2018, 16:10
von svti
Ich verwende Linux,

die Verwendung der H2-Version 1.4.196 hat bei mir das Problem zunächst beseitigt.

Nachfolgend die Erklärung aus dem Jameica Blog
https://www.willuhn.de/blog/index.php?/ ... l#comments

Unter
http://central.maven.org/maven2/com/h2d ... .4.196.jar
kann man sich diese H2 Version herunterladen.

Die Datei h2-1.4.196.jar in das Jameica Verzeichnis (in meinem Fall: "/opt/jameica/lib/h2/") kopieren.
Die Datei "jameica/lib/h2/h2-1.4.197.jar" löschen

Grüße Sven

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 27. Januar 2019, 10:31
von KickerCrewBonn_eV
Tausend Dank, so war das Problem auch bei mir schnell behoben :D

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 28. Januar 2019, 09:45
von hibiscus
Dieser Fehler ist im Moment in der Tat eine unschoene Situation. Ich musste die H2-Version auf 1.4.197 aktualisieren, weil mit der 196er bei vielen Usern das Datenbank-Update in Hibiscus fehlschlug. In JVerein ist es genau andersrum. Sprich: Wuerde man das Downgrade auf 196 machen, bevor die beiden Plugins aktualisiert wurden, dann würde zwar das von JVerein durchlaufen, aber das von Hibiscus nicht mehr. Das Problem selbst tritt nur beim eigentlichen Update-Vorgang auf - also wenn die Plugins versuchen, das Datenbank-Schema wegen neuer Features zu erweitern. Wenn das einmal erledigt ist, spielt es keine Rolle mehr, ob 196 oder 197.
Da der hierbei entstehende SQL-Fehler keinen nachvollziehbaren Grund hat, gehe ich davon aus, dass es sich tatsaechlich um einen Fehler in h2 handelt. Ich hoffe, dass es bald eine aktualisierte Version 1.4.198 gibt, in der das Problem nicht mehr auftritt-

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 24. Februar 2019, 15:13
von ManuelR
Hallo,
ich habe gerade wieder den gleichen Fehler.
Hier meine benutzten Versionen:
Jameica 2.8.4
Hibiscus 2.8.10
Jverein 2.8.17

Den H2 Downgrade hatte ich bereits im Dezember durchgeführt.

Gibt es irgendeine schnelle Lösung um wieder mit dem Programm zu arbeiten? Bei uns sind diese Woche die Mitgliedsbeiträge fällig, weswegen ich gerade ein wenig unter Druck stehe..

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 24. Februar 2019, 15:32
von ManuelR
Ich habe es gerade mit einem kompletten Downgrade auf
Jameica 2.6.6
Hibiscus 2.6.20
und Jverein 2.8.17 probiert.
das hat leider auch keine Lösung gebracht.
Im Anhnag findet ihr ein Logfile, welches ich beim vorherigen Post vergessen habe anzupinnen:

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 24. Februar 2019, 21:35
von DIG
@hibiscus + @heiner

Hallo Olaf, hallo Heiner,

h2-1.4.198 ist veröffentlicht....

Folgendes habe ich gerade ausprobiert:
  • h2-1.4.198.jar ins jameica/lib-Verzeichnis kopiert (und dort natürlich andere h2-Versionen weggenommen).
  • Jameica gestartet: Jameica und Hibisus laufen
  • JVerein läuft aber nicht (mit meiner aus früheren Versionen stammenden Datenbank, die ich notgedrungen seit geraumer Zeit mit einem Downgrade auf h2-1.4.196 betrieben habe): selber Fehler wie bei h2-1.4.197.

    Code: Alles auswählen

    [Sun Feb 24 21:40:51 CET 2019][ERROR][main][de.jost_net.JVerein.JVereinPlugin.call] Fehler beim Methodenaufruf
    java.rmi.RemoteException: connection to database.jdbc:h2:C:\Users\Carsten\Nextcloud\DIG\jameica.data\jverein/h2db/jverein failed; nested exception is: 
    	org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Eindeutiger Index oder Primärschlüssel verletzt: "PRIMARY KEY ON """".PAGE_INDEX"
    Unique index or primary key violation: "PRIMARY KEY ON """".PAGE_INDEX"; SQL statement:
    ALTER TABLE PUBLIC.ANFANGSBESTAND ADD CONSTRAINT PUBLIC.FKANFANGSBESTAND1 FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) NOCHECK [23505-198]
    
Testweise habe ich direkt mit h2-1.4.196 die JVerein-Datenbank geöffnet und in ein SQL-File gesichert. Daraus habe ich dann mit h2-1.4.197 eine neue Datenbank erzeugt. Diese neue Datenbank scheint mit Jameica+JVerein+h2-1.4.197 problemlos zu laufen, zumindest habe ich keine Fehlermeldungen gesehen und meinen Daten sind da. Allerdings heißt die so erzeugte neue Datenbank nun jverein.mv.db anstatt bisher jverein.h2.de, was mich ein wenig verunsichert.

Mir scheint, da die Jverein-Datenbank auch mit h2-1.4.198 nicht läuft, das von mir probierte Verfahren (Export in SQL-File mit 196 und Anlegen einer neuen Dantenk daraus mit 197) ein, wenn nicht sogar der einzige, Ausweg aus dem H2-Versions-Dilemma zu sein.
Wie seht Ihr das?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 25. Februar 2019, 09:36
von hibiscus
Danke fuer die Tests mit der neuen Version. Die Aenderung des Dateinamens entsteht durch eine Umstellung des internen Daten-Formats von H2. Irgendwann in einer der letzten Versionen wurde das auf "MV-Store" umgestellt. Daher auch das "mv" im Namen. Unter https://www.h2database.com/html/mvstore.html ist das naeher beschrieben.

Eine wirkliche Loesung fuer das Problem sehe ich leider auch nicht. Hatte auch schonmal versucht, in den Quellcode von H2 zu debuggen - in der Hoffnung, die Loesung und einen Bugfix zu finden. Ist mir aber nicht gelungen.

Du koenntest ja mal veruschen, unter https://github.com/h2database/h2database/issues ein Ticket anzulegen. Du hast die aktuelle Version 1.4.198 verwendet und eine von dem Fehler betroffene Datenbank. Vielleicht kann der H2-Autor das Problem naeher eingrenzen oder es vielleicht sogar fixen.