Löschung von Datensätzen nicht möglich

 
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 00:36 Uhr  ·  #1
Hallo!

Ich möchte ein Girokonto aus Hibiscus löschen, doch ist dies nicht möglich, da sich zugehörige Datensätze darin nicht löschen lassen. Als Fehlermeldung erscheint: "Fehler beim Löschen der Datensätze."

Die zugehörige System-Meldung sagt:

Code

error while deleting objects
java.rmi.RemoteException: delete failed; nested exception is: 
  org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
delete from UMSATZ where ID = 5679 [50200-199]
  at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:397)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.delete(AbstractHibiscusDBObject.java:83)
  at de.willuhn.jameica.hbci.server.UmsatzImpl.delete(UmsatzImpl.java:552)
  at de.willuhn.jameica.hbci.gui.action.DBObjectDelete$Worker.run(DBObjectDelete.java:158)
  at de.willuhn.jameica.hbci.gui.action.DBObjectDelete.handleAction(DBObjectDelete.java:101)
  at de.willuhn.jameica.gui.parts.ContextMenu$1.handleEvent(ContextMenu.java:183)
  at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
  at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5797)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)
  at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5051)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4583)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:925)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:328)
  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)
Caused by: org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
delete from UMSATZ where ID = 5679 [50200-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:508)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  at org.h2.message.DbException.get(DbException.java:194)
  at org.h2.command.Command.filterConcurrentUpdate(Command.java:333)
  at org.h2.command.Command.executeUpdate(Command.java:274)
  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)
  ... 15 more
Caused by: org.h2.message.DbException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.get(DbException.java:205)
  at org.h2.message.DbException.get(DbException.java:181)
  at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
  at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:335)
  at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
  at org.h2.table.PageStoreTable.removeRow(PageStoreTable.java:277)
  at org.h2.command.dml.Delete.update(Delete.java:123)
  at org.h2.command.CommandContainer.update(CommandContainer.java:133)
  at org.h2.command.Command.executeUpdate(Command.java:267)
  ... 18 more
Caused by: org.h2.jdbc.JdbcSQLTransientException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:621)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  ... 27 more


Ich wäre dankbar, wenn wir eine Lösung für dieses Problem finden könnten.
(Hibiscus 2.8.24, Jameica 2.8.6, Rundum-Sorglos-Paket auf Debian Linux 10.5)
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11385
Dabei seit: 03 / 2005
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 10:25 Uhr  ·  #2
Kannst du den Umsatz (müsste die ID 5679 und den Text 'Abrechnung vom 31.03.2017' haben) manuell löschen?
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:31 Uhr  ·  #3
Zitat geschrieben von hibiscus

Kannst du den Umsatz (müsste die ID 5679 und den Text 'Abrechnung vom 31.03.2017' haben) manuell löschen?

Meine Vorgangsweise ist, bei markiertem Umsatz mit Rechtsklick auf "Löschen..." aus dem sich öffnenden Menü zu gehen. Produziert die erwähnte Fehlermeldung.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11385
Dabei seit: 03 / 2005
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:32 Uhr  ·  #4
Und kannst du ihn bearbeiten?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11385
Dabei seit: 03 / 2005
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:33 Uhr  ·  #5
Wenn wenigstens das geht, koenntest du versuchen, den Umsatz einem anderen Konto (notfalls einem extra dafuer angelegten) zuzuordnen, damit du das eigentliche Konto loeschen kannst.
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:35 Uhr  ·  #6
Zitat geschrieben von hibiscus

Und kannst du ihn bearbeiten?

Nein.
Hier der Logauszug:
Code

[Mon Aug 03 17:33:27 CEST 2020][ERROR][main][de.willuhn.jameica.hbci.gui.controller.UmsatzDetailEditControl.handleStore] error while storing umsatz
java.rmi.RemoteException: update failed; nested exception is: 
  org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set EMPFAENGER_KONTO=?,ZWECK=?,KOMMENTAR=?,ENDTOENDID=?,MANDATEID=?,EMPFAENGER_BLZ=? where ID=5679 [50200-199]
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:773)
  at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:316)
  at de.willuhn.jameica.hbci.server.AbstractHibiscusDBObject.store(AbstractHibiscusDBObject.java:104)
  at de.willuhn.jameica.hbci.gui.controller.UmsatzDetailEditControl.handleStore(UmsatzDetailEditControl.java:400)
  at de.willuhn.jameica.hbci.gui.views.UmsatzDetailEdit$2.handleAction(UmsatzDetailEdit.java:49)
  at de.willuhn.jameica.gui.parts.Button$1$1.run(Button.java:174)
  at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
  at de.willuhn.jameica.gui.GUI$6.run(GUI.java:908)
  at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
  at org.eclipse.swt.widgets.Display.syncExec(Display.java:5941)
  at de.willuhn.jameica.gui.GUI.startSync(GUI.java:904)
  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:5797)
  at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)
  at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5051)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4583)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:925)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:328)
  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)
Caused by: org.h2.jdbc.JdbcSQLTimeoutException: Zeitüberschreitung beim Versuch die Tabelle {0} zu sperren
Timeout trying to lock table {0}; SQL statement:
update UMSATZ set EMPFAENGER_KONTO=?,ZWECK=?,KOMMENTAR=?,ENDTOENDID=?,MANDATEID=?,EMPFAENGER_BLZ=? where ID=5679 [50200-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:508)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  at org.h2.message.DbException.get(DbException.java:194)
  at org.h2.command.Command.filterConcurrentUpdate(Command.java:333)
  at org.h2.command.Command.executeUpdate(Command.java:274)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154)
  at de.willuhn.datasource.db.AbstractDBObject.update(AbstractDBObject.java:750)
  ... 22 more
Caused by: org.h2.message.DbException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.get(DbException.java:205)
  at org.h2.message.DbException.get(DbException.java:181)
  at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
  at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:335)
  at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
  at org.h2.table.PageStoreTable.removeRow(PageStoreTable.java:277)
  at org.h2.table.Table.updateRows(Table.java:506)
  at org.h2.command.dml.Update.update(Update.java:203)
  at org.h2.command.CommandContainer.update(CommandContainer.java:133)
  at org.h2.command.Command.executeUpdate(Command.java:267)
  ... 25 more
Caused by: org.h2.jdbc.JdbcSQLTransientException: Zeile nicht gefunden beim Löschen von Index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)"
Row not found when trying to delete from index "PUBLIC.IDX_UMSATZ_VALUTA: ( /* key:5679 */ 5679, 100, NULL, NULL, NULL, -3.8, 'Abrechnung vom  31.03.2017', NULL, NULL, DATE '2017-03-31', DATE '2017-03-30', 97.91, '990197', STRINGDECODE('Zinsen/Kontof\u00fchrung'), 'NONREF', NULL, 3110870515, NULL, NULL, '005', NULL, NULL, NULL, NULL, NULL, NULL)" [90112-199]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:621)
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:427)
  ... 35 more
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:44 Uhr  ·  #7
Zitat geschrieben von hibiscus

Wenn wenigstens das geht, koenntest du versuchen, den Umsatz einem anderen Konto (notfalls einem extra dafuer angelegten) zuzuordnen, damit du das eigentliche Konto loeschen kannst.

Wo bzw. wie könnte ich das ggf. bewerkstelligen? Im Fenster von "Bearbeiten" sehe ich keine diesbezügliche Option.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11385
Dabei seit: 03 / 2005
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 17:47 Uhr  ·  #8
Wenn das Bearbeiten nicht geht, spielt es keine Rolle. Die Datenbank scheint einen Knacks zu haben. Vermutlich kann man das nur noch per Diagnose-Backup exportieren/importieren fixen. Zu finden im Menü unter Hibiscus->Erweitert. Oder du lässt es einfach so.
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 18:35 Uhr  ·  #9
Zitat geschrieben von hibiscus

Vermutlich kann man das nur noch per Diagnose-Backup exportieren/importieren fixen.

Vielen Dank. So hat es funktioniert.
Interessehalber: Was ist der Unterschied bei der Erstellung der beiden Backup-Arten?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 11385
Dabei seit: 03 / 2005
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 18:44 Uhr  ·  #10
Das Diagnose-Backup ist ein XML-Dump der Datenbank ohne die Anwendungseinstellungen.
Yorat
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 6
Dabei seit: 08 / 2020
Betreff:

Re: Löschung von Datensätzen nicht möglich

 · 
Gepostet: 03.08.2020 - 18:55 Uhr  ·  #11
Nochmals vielen Dank für die postwendenden und zielführenden Antworten (schneller als ich schreiben kann ;-).
Gewählte Zitate für Mehrfachzitierung:   0