Seite 1 von 1

Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 17:32
von Alumni
Hallo liebes Forum,
ich habe JVerein vor zwei Monaten entdeckt und mich nach und nach eingearbeitet. Nun haben sich ein paar Probleme mit der Buchführung ergeben, für die ich keine Lösung - auch nach ausführlicher Recherche im Forum - gefunden habe. Deshalb im Folgenden die Problembeschreibung:
So hatte ich das Vereinskonto in JVerein angelegt.
Problem 1: Beim Rumexperimentieren hatte ich manuell Buchungen angelegt, sie aber anschließend wieder gelöscht. Leider wurden die Buchungen offenbar nicht vollständig gelöscht, denn im Menü Buchungen-Kontokenndaten sind die Summen immer angewachsen, trotz der Löschungen. Meine Idee war nun, das Konto zu löschen und es neu anzulegen. Ich habe meiner Ansicht nach auch alle verbundenen Sollbuchungen in den Mitgliedskonten etc. gelöscht, alle sonstigen Buchungen auch. Dennoch wird beim Löschversuch immer ein Fehler gemeldet und die Löschung nicht vollzogen. Folgende Fehlermeldung erhalte ich:

Code: Alles auswählen

java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
	org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"
Referential integrity constraint violation: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"; SQL statement:
delete from KONTO where ID = 1 [23503-172]
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
	at de.jost_net.JVerein.server.KontoImpl.delete(KontoImpl.java:199)
	at de.jost_net.JVerein.gui.action.KontoDeleteAction.handleAction(KontoDeleteAction.java:63)
	at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:200)
	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:817)
	at de.willuhn.jameica.gui.GUI.init(GUI.java:308)
	at de.willuhn.jameica.system.Application.init(Application.java:148)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"
Referential integrity constraint violation: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"; SQL statement:
delete from KONTO where ID = 1 [23503-172]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
	at org.h2.message.DbException.get(DbException.java:169)
	at org.h2.message.DbException.get(DbException.java:146)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:421)
	at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:438)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:314)
	at org.h2.table.Table.fireConstraints(Table.java:880)
	at org.h2.table.Table.fireAfterRow(Table.java:897)
	at org.h2.command.dml.Delete.update(Delete.java:100)
	at org.h2.command.CommandContainer.update(CommandContainer.java:79)
	at org.h2.command.Command.executeUpdate(Command.java:235)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:127)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:112)
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
	... 12 more
Problem 2: Es findet auch keine Synchronisierung der Buchungen aus Hibiscus mit JVerein statt. Möglicherweise hängt das Problem mit dem Problem 1 zusammen?!

Ich hoffe, ich habe alle nötigen Fakten für Antworten zum Problem erwähnt. Sonst werde ich gern noch nachliefern. Schonmal vielen Dank im Voraus!

Viele Grüße
Timo

Re: Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 17:37
von Rolf.Mamat
Hallo Timo,
wie es aussieht hast du wirklich noch Buchungen gespeichert und deshalb kann das Konto nicht gelöscht werden.
Prüfe ob die im Dialog Buchungen eine Einschränkung auf Datum oder Buchungsklasse oder ... hast und dir damit nicht alle Daten angezeigt werden.
Rolf

Re: Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 17:46
von Alumni
Hallo Rolf,
vielen Dank für den Hinweis mit dem Filter. Du hattest vollkommen Recht. Habe das Löschen der anderen Buchungen schnell nachgeholt. Dennoch kommt beim Löschversuch des Kontos eine Fehlermeldung:

Code: Alles auswählen

Fehler beim Löschen des Kontos.
java.rmi.RemoteException: delete failed, rollback successful; nested exception is: 
	org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"
Referential integrity constraint violation: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"; SQL statement:
delete from KONTO where ID = 1 [23503-172]
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:384)
	at de.jost_net.JVerein.server.KontoImpl.delete(KontoImpl.java:199)
	at de.jost_net.JVerein.gui.action.KontoDeleteAction.handleAction(KontoDeleteAction.java:63)
	at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:200)
	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:817)
	at de.willuhn.jameica.gui.GUI.init(GUI.java:308)
	at de.willuhn.jameica.system.Application.init(Application.java:148)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"
Referential integrity constraint violation: "FKBUCHUNG2: PUBLIC.BUCHUNG FOREIGN KEY(KONTO) REFERENCES PUBLIC.KONTO(ID) (1)"; SQL statement:
delete from KONTO where ID = 1 [23503-172]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
	at org.h2.message.DbException.get(DbException.java:169)
	at org.h2.message.DbException.get(DbException.java:146)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:421)
	at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:438)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:314)
	at org.h2.table.Table.fireConstraints(Table.java:880)
	at org.h2.table.Table.fireAfterRow(Table.java:897)
	at org.h2.command.dml.Delete.update(Delete.java:100)
	at org.h2.command.CommandContainer.update(CommandContainer.java:79)
	at org.h2.command.Command.executeUpdate(Command.java:235)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:127)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:112)
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:366)
	... 12 more

Re: Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 18:05
von heiner
Hallo Timo,

wie Rolf bereits geschrieben hat, sind noch Buchungen mit dem Konto verbunden. Prüfe die Filltereinstellungen noch einmal.

Heiner

Re: Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 18:19
von Alumni
Vielen Dank ihr zwei, ich war einfach zu blind :? Hatte nur das Anfangsdatum beim Filter geändert. Nun hat es geklappt! :)

Re: Fehler beim Löschen des Kontos

Verfasst: Sonntag 17. November 2013, 18:25
von heiner
kmmersf (kaum macht man es richtig - schon funktionierts ;)

Heiner