Fehler beim Löschen eines Abrechnungslaufs
Verfasst: Dienstag 18. September 2012, 10:59
Hallo Heiner,
ich wollte heute einen Abrechnungslauf von Zusatzbeiträgen löschen, weil sich bei einem Mitglied ein Fehler in der Bankverbindung eingeschlichen hatte. Ich habe zuerst die Bankverbindung korrigiert; anschließend wollte ich den Abrechnungslauf löschen und erneut ausführen, was aber auf einen Fehler gelaufen ist:
Soweit ich sehen kann, wird die referentielle Integrität verletzt. Allerdings wüsste ich nicht, wieso. Ich habe keine manuellen Eingriffe in die Datenbank vorgenommen.
Kannst Du mir vielleicht einen Tipp geben, woran es liegen kann und wie ich das Ganze wieder richtig hinbekomme?
Vielen Dank schon einmal.
Christian
ich wollte heute einen Abrechnungslauf von Zusatzbeiträgen löschen, weil sich bei einem Mitglied ein Fehler in der Bankverbindung eingeschlichen hatte. Ich habe zuerst die Bankverbindung korrigiert; anschließend wollte ich den Abrechnungslauf löschen und erneut ausführen, was aber auf einen Fehler gelaufen ist:
Code: Alles auswählen
[Tue Sep 18 10:51:47 CEST 2012][ERROR][de.jost_net.JVerein.gui.action.AbrechnungslaufDeleteAction.handleAction] Fehler beim Löschen eines Abrechnungslaufes
java.rmi.RemoteException: delete failed, rollback successful; nested exception is:
org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
delete from BUCHUNG where ID = 1152 [23003-145]
at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
at de.jost_net.JVerein.gui.action.AbrechnungslaufDeleteAction.handleAction(AbrechnungslaufDeleteAction.java:100)
at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:173)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at de.willuhn.jameica.gui.GUI.loop(GUI.java:803)
at de.willuhn.jameica.gui.GUI.init(GUI.java:294)
at de.willuhn.jameica.system.Application.init(Application.java:144)
at de.willuhn.jameica.system.Application.newInstance(Application.java:86)
at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"
Referential integrity constraint violation: "FKBUCHUNGDOKUMENT1: PUBLIC.BUCHUNGDOKUMENT FOREIGN KEY(REFERENZ) REFERENCES PUBLIC.BUCHUNG(ID)"; SQL statement:
delete from BUCHUNG where ID = 1152 [23003-145]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
at org.h2.message.DbException.get(DbException.java:167)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:382)
at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:399)
at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:275)
at org.h2.table.Table.fireConstraints(Table.java:803)
at org.h2.table.Table.fireAfterRow(Table.java:820)
at org.h2.command.dml.Delete.update(Delete.java:80)
at org.h2.command.CommandContainer.update(CommandContainer.java:69)
at org.h2.command.Command.executeUpdate(Command.java:201)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:126)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:111)
at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
... 11 more
[Tue Sep 18 10:51:47 CEST 2012][ERROR][de.willuhn.jameica.messaging.LogMessageConsumer.handleMessage] Fehler beim Löschen eines Abrechnungslaufes
Kannst Du mir vielleicht einen Tipp geben, woran es liegen kann und wie ich das Ganze wieder richtig hinbekomme?
Vielen Dank schon einmal.
Christian