Fehler bei Update auf 2.8.23

Hier melden JVerein-Benutzer ihre Fehler

Moderator: heiner

Antworten
KlausB
Beiträge: 69
Registriert: Mittwoch 3. August 2011, 01:52
Verein: Diagnose-Funk e.V.
Mitglieder: 1100
JVerein-Version: 2.8.20
Betriebssystem: Win10
Kontaktdaten:

Fehler bei Update auf 2.8.23

Beitrag von KlausB »

Hallo zusammen,

beim Update von 2.8.22 auf 2.8.23 bekomme ich nachfolgende Fehlermeldung:

Code: Alles auswählen

[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 447 ...
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.setNewVersion] JVerein-DB-Update: 447
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Fri Nov 08 22:30:48 CET 2024][INFO][main][de.willuhn.sql.ScriptExecutor.execute] rollback transaction
[Fri Nov 08 22:30:48 CET 2024][ERROR][main][de.willuhn.sql.ScriptExecutor.execute] error while executing sql script. Current statement: ALTER TABLE buchung ADD CONSTRAINT fkBuchung9 FOREIGN KEY (splitid) REFERENCES buchung(id) ON DELETE CASCADE ON UPDATE RESTRICT
org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referentielle Integrit t verletzt: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
ALTER TABLE buchung ADD CONSTRAINT fkBuchung9 FOREIGN KEY (splitid) REFERENCES buchung(id) ON DELETE CASCADE ON UPDATE RESTRICT [23506-199]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:457)
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
	at org.h2.message.DbException.get(DbException.java:205)
	at org.h2.message.DbException.get(DbException.java:181)
	at org.h2.constraint.ConstraintReferential.checkExistingData(ConstraintReferential.java:630)
	at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:261)
	at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:78)
	at org.h2.command.CommandContainer.update(CommandContainer.java:133)
	at org.h2.command.Command.executeUpdate(Command.java:267)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:169)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:126)
	at de.willuhn.sql.ScriptExecutor.execute(ScriptExecutor.java:166)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:89)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:76)
	at de.jost_net.JVerein.server.DDLTool.Updates.Update0447.run(Update0447.java:56)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.callMethod2(JVereinUpdateProvider.java:266)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.<init>(JVereinUpdateProvider.java:93)
	at de.jost_net.JVerein.server.DBSupportH2Impl.checkConsistency(DBSupportH2Impl.java:174)
	at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConsistency(JVereinDBServiceImpl.java:114)
	at de.jost_net.JVerein.JVereinPlugin$1.call(JVereinPlugin.java:112)
	at de.jost_net.JVerein.JVereinPlugin.call(JVereinPlugin.java:209)
	at de.jost_net.JVerein.JVereinPlugin.init(JVereinPlugin.java:105)
	at de.willuhn.jameica.plugin.PluginLoader.initPlugin(PluginLoader.java:394)
	at de.willuhn.jameica.plugin.PluginLoader.init(PluginLoader.java:239)
	at de.willuhn.jameica.services.PluginService.init(PluginService.java:39)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:139)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:119)
	at de.willuhn.boot.BootLoader.getBootable(BootLoader.java:70)
	at de.willuhn.jameica.system.Application.init(Application.java:103)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
	at de.willuhn.jameica.Main.main(Main.java:78)

[Fri Nov 08 22:30:48 CET 2024][ERROR][main][de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute] unable to execute update
java.sql.SQLException: exception while executing sql script: Referentielle Integrit t verletzt: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
ALTER TABLE buchung ADD CONSTRAINT fkBuchung9 FOREIGN KEY (splitid) REFERENCES buchung(id) ON DELETE CASCADE ON UPDATE RESTRICT [23506-199]. Current statement: ALTER TABLE buchung ADD CONSTRAINT fkBuchung9 FOREIGN KEY (splitid) REFERENCES buchung(id) ON DELETE CASCADE ON UPDATE RESTRICT
	at de.willuhn.sql.ScriptExecutor.execute(ScriptExecutor.java:195)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:89)
	at de.jost_net.JVerein.server.DDLTool.AbstractDDLUpdate.execute(AbstractDDLUpdate.java:76)
	at de.jost_net.JVerein.server.DDLTool.Updates.Update0447.run(Update0447.java:56)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.callMethod2(JVereinUpdateProvider.java:266)
	at de.jost_net.JVerein.server.JVereinUpdateProvider.<init>(JVereinUpdateProvider.java:93)
	at de.jost_net.JVerein.server.DBSupportH2Impl.checkConsistency(DBSupportH2Impl.java:174)
	at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConsistency(JVereinDBServiceImpl.java:114)
	at de.jost_net.JVerein.JVereinPlugin$1.call(JVereinPlugin.java:112)
	at de.jost_net.JVerein.JVereinPlugin.call(JVereinPlugin.java:209)
	at de.jost_net.JVerein.JVereinPlugin.init(JVereinPlugin.java:105)
	at de.willuhn.jameica.plugin.PluginLoader.initPlugin(PluginLoader.java:394)
	at de.willuhn.jameica.plugin.PluginLoader.init(PluginLoader.java:239)
	at de.willuhn.jameica.services.PluginService.init(PluginService.java:39)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:139)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:119)
	at de.willuhn.boot.BootLoader.getBootable(BootLoader.java:70)
	at de.willuhn.jameica.system.Application.init(Application.java:103)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referentielle Integrit t verletzt: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNG9: PUBLIC.BUCHUNG FOREIGN KEY(SPLITID) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
ALTER TABLE buchung ADD CONSTRAINT fkBuchung9 FOREIGN KEY (splitid) REFERENCES buchung(id) ON DELETE CASCADE ON UPDATE RESTRICT [23506-199]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:457)
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
	at org.h2.message.DbException.get(DbException.java:205)
	at org.h2.message.DbException.get(DbException.java:181)
	at org.h2.constraint.ConstraintReferential.checkExistingData(ConstraintReferential.java:630)
	at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:261)
	at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:78)
	at org.h2.command.CommandContainer.update(CommandContainer.java:133)
	at org.h2.command.Command.executeUpdate(Command.java:267)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:169)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:126)
	at de.willuhn.sql.ScriptExecutor.execute(ScriptExecutor.java:166)
	... 23 more

[Fri Nov 08 22:30:48 CET 2024][ERROR][main][de.jost_net.JVerein.server.DBSupportH2Impl.checkConsistency] Datenbankupdate kann nicht ausgef hrt werden.
Um auszuschließen, dass es an einer kaputten Datenbank liegt, habe ich wie hier viewtopic.php?p=17622#p17622 beschrieben die Datenbank repariert, das hat aber nicht geholfen (das war wieder eine Prozedur, aber das ist ein extra Thema).

Systemdaten:

Code: Alles auswählen

[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] starting Jameica Version 2.10.4
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   Built-Date : 20230414
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   Buildnumber: 487
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   max. memory: 7984mb
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   sys charset: windows-1252
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] command line parameters
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   [-f]
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init]   [C:\Users\xxxx\.jameica_df-Test-Update-auf-2.8.23]
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.arch          : amd64
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.name          : Windows 11
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.version       : 10.0
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.version     : 17.0.8
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.vendor      : Azul Systems, Inc.
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.runtime.name: OpenJDK Runtime Environment
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.vm.name     : OpenJDK 64-Bit Server VM
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] user.name        : ws44
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] user.home        : C:\Users\xxxx
[Fri Nov 08 22:30:36 CET 2024][INFO][main][de.willuhn.jameica.services.SysinfoService.init] file.encoding    : Cp1252
Gibt es Ideen, wie sich das lösen läßt? Vielen Dank vorab für jede Hilfe!

KlausB
lenilsas
Beiträge: 34
Registriert: Montag 5. August 2024, 08:23

Re: Fehler bei Update auf 2.8.23

Beitrag von lenilsas »

Es scheint so, dass bei dir die Hauptbuchung von mindestens einer Splitbuchung fehlt. Bisher wurde das leider in der Datenbank nicht gecheckt. Mit der neuen Version ist hier ein Fremdschlüssel eingebaut der das Fehlen bemängelt.
Starte nochmal Jverein in der alten Version und versuche die Splitbuchung ohne Hauptbuchung zu finden, wenn möglich lösche sie und versuche das Update erneut.
Falls es auf diesem Weg nicht gehen sollt, müssen wir im Datenbankupdate etwas verändern.
KlausB
Beiträge: 69
Registriert: Mittwoch 3. August 2011, 01:52
Verein: Diagnose-Funk e.V.
Mitglieder: 1100
JVerein-Version: 2.8.20
Betriebssystem: Win10
Kontaktdaten:

Re: Fehler bei Update auf 2.8.23

Beitrag von KlausB »

Vielen Dank für deine schnelle Antwort!
Ich habe 2 Splitbuchungen ohne Hauptbuchung gefunden! Schwierige Sache, bei etwa 50000 Buchungen. In JVerein konnte ich sie nicht finden, ich habe die Datenbank mit LibreOffice Base geöffnet und die Tabelle nach Splitbuchungen sortiert, dann jede Splitbuchung auf Sicht kontrolliert. Das waren dann "nur" noch ca. 5000. Ich habe dort die SplitID und den Splittyp rausgenommen und gespeichert.
Das Update ist dann durchgelaufen.
Im JVerein Handbuch unter https://openjverein.gitbook.io/doku/all ... reofficedb ist übrigens der Link zur Datenbankverbindung falsch. Dort steht
Windows: h2:file:C:\Pfad\zur\Datenbank\.jameica\jverein\h2db\jverein
Richtig ist
Windows: h2:file:\C:\Pfad\zur\Datenbank\.jameica\jverein\h2db\jverein
Auch im Bild ist der Link falsch benannt. Wer kann das ändern?
lenilsas
Beiträge: 34
Registriert: Montag 5. August 2024, 08:23

Re: Fehler bei Update auf 2.8.23

Beitrag von lenilsas »

Super das es geklappt hat!
Komisch das der Pfad bei dir einen Slash braucht, laut H2 Doku ist er richtig wie es in der JVerein Doku steht. Da ich kein Windows habe kann ich es leider nicht testen.
KlausB
Beiträge: 69
Registriert: Mittwoch 3. August 2011, 01:52
Verein: Diagnose-Funk e.V.
Mitglieder: 1100
JVerein-Version: 2.8.20
Betriebssystem: Win10
Kontaktdaten:

Re: Fehler bei Update auf 2.8.23

Beitrag von KlausB »

Guckst du hier wollte ich sagen:
https://www.h2database.com/html/feature ... tabase_url
Aber da steht es auch falsch. Ich konnte unter Windows nur mit dem "\" vor dem "C" eine Verbindung aufbauen.
Benutzeravatar
hibiscus
Beiträge: 138
Registriert: Donnerstag 31. Mai 2018, 08:55

Re: Fehler bei Update auf 2.8.23

Beitrag von hibiscus »

Ich verwende "jdbc:h2:c:/....." bzw. "jdbc:h2:C:\....." (wobei ich "/" statt "\" aus Escaping-Gründen bevorzuge). Also komplett ohne "file:". Aber auch ohne "\" vor dem "C:".
Vielleicht ist das eher ein LibreOffice-spezifisches Problem.
Antworten