Seite 1 von 2

Fehler beim Initialisieren der Datenbank

Verfasst: Mittwoch 13. Januar 2021, 16:31
von neelix
Hallo,

seit heute meldet mir JVerein ebenfalls diesen Fehler, im Dezember hat es noch problemlos funktioniert.
jameica.log
(59.84 KiB) 422-mal heruntergeladen
Ich habe auch Datenbanken aus Dezember-Sicherungen zurück gespielt. Der Fehler bleibt.

Jameica: 2.10.0
Jverein: 2.8.18

Was ist denn da plötzlich kaputt?

Danke & Gruß

Neelix

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Mittwoch 13. Januar 2021, 19:38
von neelix
Da scheint ja irgendwas in der Datenbank nicht zu stimmen.

Code: Alles auswählen

	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-199]
Wie lässt sich das reparieren? In welchen Tabellen muss ich suchen?

Und wie bekomme ich die DB z.B. DBeaver geöffnet?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Freitag 15. Januar 2021, 10:11
von jammerlappen
Ich hänge mich mhier mal rein. Beim Umzug auf einen neuen Rechner bekomme ich Jverein nicht zum laufen. Dabei ist egal, ob ich den Ordnerinhalt ".jameica" migriere, oder versuche ein Backup einzulesen:

java.lang.NullPointerException
at de.jost_net.JVerein.gui.control.EinstellungControl.getName(EinstellungControl.java:311)
at de.jost_net.JVerein.gui.view.EinstellungenAllgemeinView.bind(EinstellungenAllgemeinView.java:41)
at de.willuhn.jameica.gui.GUI$5.run(GUI.java:714)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:911)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4725)
at de.willuhn.jameica.gui.GUI.startSync(GUI.java:907)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:597)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:532)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:569)
at de.jost_net.JVerein.gui.action.AdministrationEinstellungenAllgemeinAction.handleAction(AdministrationEinstellungenAllgemeinAction.java:28)
at de.willuhn.jameica.gui.parts.Button$1$1.run(Button.java:174)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:911)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4725)
at de.willuhn.jameica.gui.GUI.startSync(GUI.java:907)
at de.willuhn.jameica.gui.parts.Button$1.widgetSelected(Button.java:168)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4195)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3612)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:928)
at de.willuhn.jameica.gui.GUI.init(GUI.java:331)
at de.willuhn.jameica.system.Application.init(Application.java:145)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:75)

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Mittwoch 20. Januar 2021, 20:47
von neelix
Könnte es sein, dass das irgendwie mit dem Jahreswechsel zusammenhängt?

Im Dezember ließen sich noch problemlos mit den Daten arbeiten. Im Januar ist es egal, ob die die aktuelle DB-Version nehme, oder ein Backup. Der Fehler bleibt.

Wie kann ich in die Datenbank schauen? Mit Benutzer und Passwort jverein kann ich die Datenbank nicht öffnen.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Mittwoch 20. Januar 2021, 21:37
von jammerlappen
Bei mir spielt das keine Rolle.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 21. Januar 2021, 00:12
von sbuer
Hallo Neelix,

jameica (quasi) die Platform für hibiscus und jverein bringt zur h2-Datenbank die library h2-1.4.199.jar mit. Der Fehler gibt es seit der Version .197 und höher. (soweit mir bekannt).
Versuche mal folgendes in deinem jameica Ordner C:\Users\markw\.jameica\lib\h2 Ordner gibt es die h2-1.4.199.jar. Nenne diese um (ich habe .save drangehangen) und platziere dort mal die h2-1.4.196.jar.

Die bekommst Du beispielsweise aus dem Maven Repository von h2 https://mvnrepository.com/artifact/com. ... h2/1.4.196

Starte dann einmal die Umgebung neu. Denk dran. Datenbanksicherung ist das A und O. Mache vorher mal ein Backup Deiner Daten. Sicher ist sicher ;-)

Gruß,
Stefan

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 21. Januar 2021, 00:16
von sbuer
Hier noch ein Hinweis um das Problem evtl. dauerhaft zu lösen. Ich habe es selbst noch nicht ausführlich getestet.
viewtopic.php?f=5&t=4525&start=10#p17622

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 21. Januar 2021, 10:01
von jammerlappen
sbuer hat geschrieben: Donnerstag 21. Januar 2021, 00:12 Hallo Neelix,

jameica (quasi) die Platform für hibiscus und jverein bringt zur h2-Datenbank die library h2-1.4.199.jar mit. Der Fehler gibt es seit der Version .197 und höher. (soweit mir bekannt).
Versuche mal folgendes in deinem jameica Ordner C:\Users\markw\.jameica\lib\h2 Ordner gibt es die h2-1.4.199.jar. Nenne diese um (ich habe .save drangehangen) und platziere dort mal die h2-1.4.196.jar.

Die bekommst Du beispielsweise aus dem Maven Repository von h2 https://mvnrepository.com/artifact/com. ... h2/1.4.196

Starte dann einmal die Umgebung neu. Denk dran. Datenbanksicherung ist das A und O. Mache vorher mal ein Backup Deiner Daten. Sicher ist sicher ;-)

Gruß,
Stefan
Hey Stefan,

ich hatte zwischenzeitlich versucht alles zu deinstallieren und eben eine Neuinstallation versucht. Leider finde ich unter " \.jameica " keinen Ordner " \lib ".

de.willuhn.jameica.system.JameicaException: MitgliederSucheView kann nicht erstellt werden: connection to database.jdbc:h2:C:\Users\markw\.jameica\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-199]
at de.willuhn.jameica.services.BeanService.get(BeanService.java:186)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:532)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:569)
at de.jost_net.JVerein.gui.action.MitgliedSucheAction.handleAction(MitgliedSucheAction.java:29)
at de.willuhn.jameica.gui.Navigation.start(Navigation.java:371)
at de.willuhn.jameica.gui.Navigation.access$500(Navigation.java:47)
at de.willuhn.jameica.gui.Navigation$MyActionListener.handleEvent(Navigation.java:466)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4195)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3612)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:928)
at de.willuhn.jameica.gui.GUI.init(GUI.java:331)
at de.willuhn.jameica.system.Application.init(Application.java:145)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:75)

Wäre es vielleicht eine Idee, die Ordner der laufenden Installation auf dem alten Rechner zu kopieren und im neuen Rechner einzufügen?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Freitag 22. Januar 2021, 22:36
von sbuer
Hi,

ok verstehe ....also die Fehlermeldung die ignorieren wir erstmal.
Die h2*jar liegt im jameica\lib\h2 Ordner innerhalb des jameica Programm-Ordners. Laut Logfile befinden sich deine Datenbanken aber im Profilverzeichnis auf Deinem Rechner ... das wäre im Verzeichnis C:\Users\markw\.jameica. Bin jetzt davon ausgegangen das jameica evtl. dort ist - ok das ist dann wohl nicht der Fall. Das Verzeichnis ist übrigens trotzdem wichtig, denn da die liegen auch Deine Datenbanken von hibiscus und jverein drin.
Also das sicher das mal komplett.

Versuche mal auf Deiner Festplatte den Ordner von Jameica zu finden. Am besten suchst Du mal entweder nach h2*.jar oder jameica*.jar. Da Du es nicht weisst musst Du wohl über die gesamte Platte suchen. Wenn Du ihn gefunden hast, platzierst Du die h2-1.4.196.jar im h2 Ordner und die andere nennst Du um so das die andere .jar nicht mehr erfasst wird.

Gruß
Stefan

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Samstag 23. Januar 2021, 10:46
von jammerlappen
Danke dir schonmal für deine Hilfe! Leider hat es das noch nicht wirklich gebracht, die 199er durch die 196er zu ersetzen. (Ich frage mich generell, ob ich nicht nochmal ALLES runter schmeissen und neu installieren soll)

Der Fehler ist jetzt:

de.willuhn.jameica.system.JameicaException: MitgliederSucheView kann nicht erstellt werden: connection to database.jdbc:h2:C:\Users\markw\.jameica\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-199]
at de.willuhn.jameica.services.BeanService.get(BeanService.java:186)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:532)
at de.willuhn.jameica.gui.GUI.startView(GUI.java:569)
at de.jost_net.JVerein.gui.action.MitgliedSucheAction.handleAction(MitgliedSucheAction.java:29)
at de.willuhn.jameica.gui.Navigation.start(Navigation.java:371)
at de.willuhn.jameica.gui.Navigation.access$500(Navigation.java:47)
at de.willuhn.jameica.gui.Navigation$MyActionListener.handleEvent(Navigation.java:466)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4195)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3612)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:928)
at de.willuhn.jameica.gui.GUI.init(GUI.java:331)
at de.willuhn.jameica.system.Application.init(Application.java:145)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:75)