Löschung von Datensätzen nicht möglich

Yorat

Betreff:

Löschung von Datensätzen nicht möglich

 ·  Gepostet: 03.08.2020 - 00:36 Uhr  ·  #156557
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 10:25 Uhr  ·  #156560
Kannst du den Umsatz (müsste die ID 5679 und den Text 'Abrechnung vom 31.03.2017' haben) manuell löschen?

Yorat

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:31 Uhr  ·  #156579
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:32 Uhr  ·  #156580
Und kannst du ihn bearbeiten?

hibiscus

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:33 Uhr  ·  #156581
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:35 Uhr  ·  #156582
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:44 Uhr  ·  #156583
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 17:47 Uhr  ·  #156584
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 18:35 Uhr  ·  #156586
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

Betreff:

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

 ·  Gepostet: 03.08.2020 - 18:44 Uhr  ·  #156587
Das Diagnose-Backup ist ein XML-Dump der Datenbank ohne die Anwendungseinstellungen.

Yorat

Betreff:

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

 ·  Gepostet: 03.08.2020 - 18:55 Uhr  ·  #156589
Nochmals vielen Dank für die postwendenden und zielführenden Antworten (schneller als ich schreiben kann ;-).