Seite 1 von 1

Löschen einer Karteileiche nicht möglich

Verfasst: Montag 5. Februar 2024, 08:01
von mbergien
Hallo zusammen,

ich hatte ein Mitglied doppelt in der Mitgliederdatenbank. Die Zahlungen und Informationen habe ich zusammengeführt, so dass ich den doppelten Eintrag jetzt eigentlich löschen könnte. Das funktioniert aber nicht. Im Logfile erscheint:

[Mon Feb 05 07:56:47 CET 2024][ERROR][main][de.jost_net.JVerein.gui.action.MitgliedDeleteAction.handleAction] Fehler beim L.schen des Mitgliedes
java.rmi.RemoteException: delete failed, rollback successful; nested exception is:
org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referentielle Integrit.t verletzt: "FKLASTSCHRIFT2: PUBLIC.LASTSCHRIFT FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (543)"
Referential integrity constraint violation: "FKLASTSCHRIFT2: PUBLIC.LASTSCHRIFT FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (543)"; SQL statement:
delete from MITGLIED where ID = 543 [23503-199]
at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:390)
at de.jost_net.JVerein.gui.action.MitgliedDeleteAction.handleAction(MitgliedDeleteAction.java:63)
at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:184)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3642)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:938)
at de.willuhn.jameica.gui.GUI.init(GUI.java:335)
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:78)
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Referentielle Integrit.t verletzt: "FKLASTSCHRIFT2: PUBLIC.LASTSCHRIFT FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (543)"
Referential integrity constraint violation: "FKLASTSCHRIFT2: PUBLIC.LASTSCHRIFT FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (543)"; SQL statement:
delete from MITGLIED where ID = 543 [23503-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.checkRow(ConstraintReferential.java:373)
at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:390)
at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:265)
at org.h2.table.Table.fireConstraints(Table.java:1020)
at org.h2.table.Table.fireAfterRow(Table.java:1038)
at org.h2.command.dml.Delete.update(Delete.java:129)
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.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:372)
... 12 more
[Mon Feb 05 07:57:05 CET 2024][INFO][pool-5-thread-1][de.willuhn.jameica.hbci.messaging.MarkOverdueMessageConsumer.updateAll] update all unread counters

Wie kann ich das Mitglied nun löschen?

Beste Grüße,
Martin Bergien

Re: Löschen einer Karteileiche nicht möglich

Verfasst: Freitag 9. August 2024, 11:26
von joma
In deinem Fall liegt das daran, dass für das Mitglied eine Lastschrift existiert. Wenn du die neue Version 2.8.22 verwendest findest du unter Abrechnung->Lastschriften eine Tabelle mit Lastschriften. Lösche die, die zu dem Mitglied gehören. Evtl. geht es dann schon.
Es gibt aber noch andere Daten die das Löschen verhindern könnten.
Die echte Lösung für das Löschen von Mitgliedern wird es dann in der Version 2.8.23 geben. Notfalls musst du bis dahin mit dem Löschen warten.