Backup bei Programmende wird nicht erstellt

Kuddel100

Betreff:

Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 29.05.2026 - 14:08 Uhr  ·  #186452
Die Fehlermeldung:

"Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_F373_INDEX_1 ON PUBLIC.PROPERTY(NAME) VALUES ( /* 47269 */ 'bpd.17055050.7546903111.Params_100.KontoauszugPar3.ParKontoauszug.canindex' )"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_F373_INDEX_1 ON PUBLIC.PROPERTY(NAME) VALUES ( /* 47269 */ 'bpd.17055050.7546903111.Params_100.KontoauszugPar3.ParKontoauszug.canindex' )"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-199]"

Wie kann ich das beheben?

Kuddel100

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 29.05.2026 - 14:36 Uhr  ·  #186453
Synchronisierung hat geholfen

hibiscus

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 29.05.2026 - 15:02 Uhr  ·  #186454
Das wollte ich auch gerade schreiben. Das war ein Migrationsproblem im BPD/UPD Cache. Durch das Synchronisieren des Bankzugangs wird der Cache geleert und neu erstellt.

ReinRalle

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 01.06.2026 - 20:16 Uhr  ·  #186480
Guten Abend,

hänge mich mal ran, weil ich einen neuen Thread vermeiden möchte!

Erhalte ähnliche Meldungen:

Code

[Mon Jun 01 20:03:20 CEST 2026][ERROR][bg-task:Worker][de.willuhn.jameica.hbci.server.HBCIDBServiceImpl.executeUpdate] error while executing sql update
org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-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.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:103)
  at org.h2.mvstore.db.MVSecondaryIndex.checkUnique(MVSecondaryIndex.java:220)
  at org.h2.mvstore.db.MVSecondaryIndex.add(MVSecondaryIndex.java:196)
  at org.h2.mvstore.db.MVTable.addRow(MVTable.java:546)
  at org.h2.table.Table.updateRows(Table.java:526)
  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)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154)
  at de.willuhn.jameica.hbci.server.HBCIDBServiceImpl.executeUpdate(HBCIDBServiceImpl.java:254)
  at de.willuhn.jameica.hbci.server.BPDUtil.migrateCache(BPDUtil.java:617)
  at de.willuhn.jameica.hbci.server.BPDUtil.getSupport(BPDUtil.java:206)
  at de.willuhn.jameica.hbci.server.KontoUtil.useCamt(KontoUtil.java:140)
  at de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.getIdentifier(HBCIUmsatzJob.java:159)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.executeJobs(HBCISynchronizeBackend.java:370)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync(HBCISynchronizeBackend.java:273)
  at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:401)
  at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)

[Mon Jun 01 20:03:20 CEST 2026][WARN][pool-1-thread-1][de.willuhn.jameica.services.BackupService$Consumer.handleMessage] detected error: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-199]
[Mon Jun 01 20:03:20 CEST 2026][ERROR][bg-task:Worker][de.willuhn.jameica.hbci.server.BPDUtil.migrateCache] error while migrating BPD/UPD cache
java.rmi.RemoteException: error while executing sql update: Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-199]; nested exception is: 
  org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-199]
  at de.willuhn.jameica.hbci.server.HBCIDBServiceImpl.executeUpdate(HBCIDBServiceImpl.java:262)
  at de.willuhn.jameica.hbci.server.BPDUtil.migrateCache(BPDUtil.java:617)
  at de.willuhn.jameica.hbci.server.BPDUtil.getSupport(BPDUtil.java:206)
  at de.willuhn.jameica.hbci.server.KontoUtil.useCamt(KontoUtil.java:140)
  at de.willuhn.jameica.hbci.server.hbci.HBCIUmsatzJob.getIdentifier(HBCIUmsatzJob.java:159)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.executeJobs(HBCISynchronizeBackend.java:370)
  at de.willuhn.jameica.hbci.synchronize.hbci.HBCISynchronizeBackend$HBCIJobGroup.sync(HBCISynchronizeBackend.java:273)
  at de.willuhn.jameica.hbci.synchronize.AbstractSynchronizeBackend$Worker.run(AbstractSynchronizeBackend.java:401)
  at de.willuhn.jameica.gui.GUI$7.run(GUI.java:1113)
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Eindeutiger Index oder Primärschlüssel verletzt: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"
Unique index or primary key violation: "PUBLIC.CONSTRAINT_INDEX_F37 ON PUBLIC.PROPERTY(NAME) VALUES 4012"; SQL statement:
update property set name = REPLACE(name,?,?) where name like ? [23505-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.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:103)
  at org.h2.mvstore.db.MVSecondaryIndex.checkUnique(MVSecondaryIndex.java:220)
  at org.h2.mvstore.db.MVSecondaryIndex.add(MVSecondaryIndex.java:196)
  at org.h2.mvstore.db.MVTable.addRow(MVTable.java:546)
  at org.h2.table.Table.updateRows(Table.java:526)
  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)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:200)
  at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:154)
  at de.willuhn.jameica.hbci.server.HBCIDBServiceImpl.executeUpdate(HBCIDBServiceImpl.java:254)
  ... 8 more


Leider hat in diesem Fall eine Synchronisierung nicht geholfen!

Besteht eine Chance, dass ich diese Meldungen loswerde?

Vielen Dank für jeden Hinweis

Ralf

hibiscus

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 01.06.2026 - 21:37 Uhr  ·  #186482
Es ging um die Synchronisierung des Bankzugangs, nicht des Kontos. Das Problem muss dadurch behoben werden, weil die bemängelte Tabelle hierbei geleert und neu befüllt wird.

ReinRalle

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 01.06.2026 - 21:53 Uhr  ·  #186483
Danke für Deine Hilfe! - Wenn ich also den Button "Synchronisierung starten" unter Start betätige, synchronisiere ich das oder die gegebenen Konten!?

Was muß ich denn genau unternehmen, um den Bankzugang zu synchronisieren? Besteht dann dabei eine Gefahr, etwas zu verlieren, oder ist es "safe"?

hibiscus

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 01.06.2026 - 21:55 Uhr  ·  #186484
Klicke links in der Navigation auf "Bank-Zugänge" und öffne die Detailansicht des PIN/TAN-Bankzugangs durch Doppelklick. Klicke dort unten rechts auf "Synchronisieren".

ReinRalle

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 01.06.2026 - 22:21 Uhr  ·  #186485
Hm, dass scheint, wenn ich die Zeitstempel betrachte, funktioniert zu haben! Die entsprechende Fehlermeldung taucht in Folge nicht mehr auf!

Super - da kann ich mich nur bedanken für Rat & Tat Dir noch einen schönen Abend ...

Ralf

mupan.eu

Betreff:

Re: Backup bei Programmende wird nicht erstellt

 ·  Gepostet: 03.06.2026 - 12:52 Uhr  ·  #186494
Vielleicht gibt es von Olaf einen Fix dazu in Hibiscus 2.12.4, jedenfalls hatte ich heute eine Warnung, dass eine Primärschlüsselverletzung aufgetreten sei, der das Backup bei Programmende verhindert habe. Habe Jameica geschlossen und neu gestartet, und die Warnmeldung war verschwunden. Ein Blick in die Backupverwaltung hat gezeigt, dass vor 3 min ein Backup geschrieben wurde, Größe etwa gleich den vorherigen. Habe dann jameica...log geschrieben, im Texteditor geöffnet, und mir die letzten, weiß nicht, 1000 Zeilen angesehen: Die geniale Jameica-Hibiscus-Software hat ein UPDATE xxx SET name = replace ... where name like [xxxx-xx] abgesetzt, und so den Fehler selbst behoben. Viele Softwarelösungen, für die ich arbeiten musste, haben vom User bearbeitbare Namensfelder zum Primärschlüssel gemacht, ein Albtraum, vor allem, wenn du dann noch durch verschiedene Charsets schleusen musst, wo Umlaute und andere regionale Zeichen nur mit Glück gleich bleiben. Vollkommen unprofessionell, aber wenns der Chef selbst gemacht hat ... Den Fehler hat Olaf nicht gemacht.

Merci für diese tolle Software.

Ich spende schon viel zu vielen Vereinen, sorry, mehr ist nicht drin, als Erwerbsloser und bald Rentner. Sonst würde ich eine monatliche Spende einrichten.