Seite 1 von 1

Datenbankfehler

Verfasst: Dienstag 2. Februar 2021, 08:38
von Markus1301
Hallo zusammen,
jetzt hat es mich auch erwischt: Ich nutze unter Debian linux

Jameica 2.8.4, Hibiscus 2.10.0 und jverein 2.8.18

Nun kommt auch bei mir: jverein (Fehler beim Initialisieren der Datenbank)

Im Demzember hat der Jahresabschluss noch perfekt funktioniert. Ich denke, dass ist der erste Start seit dem und jverein geht nicht.

Ich habe hier nachgelesen: Diese h2 Version 199 Problematik hatte ich früher schon einmal und verwende nun 196.

Ich habe die Ausgabe mitgeschnitten. die beim starten des Programmes kommt:
jar /opt/jameica/lib/h2/h2-1.4.196.jar

Weiter unten kommt dann

[Tue Feb 02 08:09:42 CET 2021][ERROR][main][de.jost_net.JVerein.JVereinPlugin.call] Fehler beim Methodenaufruf
java.rmi.RemoteException: connection to database.jdbc:h2:/root/.jameica/jverein/h2db/jverein failed; nested exception is:
org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "java.lang.RuntimeException: rowCount expected 8 got 7 T107.I14"
General error: "java.lang.RuntimeException: rowCount expected 8 got 7 T107.I14" [50000-196]
at de.willuhn.datasource.db.DBServiceImpl.createConnection(DBServiceImpl.java:181)
at de.willuhn.datasource.db.DBServiceImpl.getConnection(DBServiceImpl.java:124)
at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConsistency(JVereinDBServiceImpl.java:114)
at de.jost_net.JVerein.JVereinPlugin$1.call(JVereinPlugin.java:112)


Was mache ich jetzt nur? Ich muss die Jahresbeiträge einziehen und ein paar Sachen bezahlen. Ich hoffe, hier im Forum hat jemand einen schlauen Tipp!

Gruß,
Markus

Re: Datenbankfehler

Verfasst: Dienstag 2. Februar 2021, 09:26
von Markus1301
Hallo,
mir ist noch folgendes aufgefallen: Meine jameica Version ist völlig veraltet.Für Hibiscus 2.10.0 bräuchte ich Jameica 2.10.0.

Nun habe ich das Update auf Jameica 2.10.0 gemacht und mich davon überzeugt, dass ich java 11 habe.

Mit Jameica 2.10.0 kam auch h2 Version 199. Ich habe die Version durch meine alte 196 ersetzt.

Esa geht aber immer noch nicht. Die Diagnose Daten hänge ich an.

Re: Datenbankfehler

Verfasst: Dienstag 2. Februar 2021, 13:22
von Markus1301
Hallo zusammen,
ich denke mein Problem ist gelöst, dank dieses Forums.
Ich hatte noch ein Backup von Jameica aus Ende 2020. Das lief! Dort habe ich dann in jverein das Backup der DB gemacht, so wie es hier beschrieben ist (in dem Threat zu den Datenbankproblemen). Dann der Wechsel zur aktuellen Version. Dort doch die 199er Version von h2 genommen. Und wie es hier beschrieben ist, die DB in jverein gelöscht und mit diesem ellenlangen java Befehl aus dem sql dump neu erzeugt. Ich habe jetzt noch nicht viel gemacht, aber es startet wieder. Das einzige was mir aufgefallen ist. Die Buchungen seit dem Backup waren weg und der JAhresabschluss. War aber kein Problem, weil er die Buchungen noch einmal von der Sparkasse geholt hat.

Gruß und Danke,
Markus

P. S. Igrnedwie müsste man die Problematik mit h2 und dem Update der DB irgendwie "prominenter" platzieren. Ich hatte fast einen Herzinfarkt und war da wahrscheinlich nicht der einzige ;-)

Re: Datenbankfehler

Verfasst: Samstag 6. Februar 2021, 00:45
von sbuer
Hallo,

selber bin ich in diesen Fehler noch nicht reingelaufen. Es kann durchaus sein, daß Deine Datenbank defekt war.
Versuche nach Möglichkeit immer zeitnah ein Backup zu machen (möglichst nach einer Aktualisierung von Daten in hibiscus/jverein).
Im Idealfall sogar die Backups als Generationen anlegen (simpelste Methode ... Backupverzeichnisse mit Zeitstempel benutzen). Im Worst-Case kannst Du bei einem defekten Backup immer nochmal eine weitere Generation zurück. Das löst zwar jetzt nicht das Problem - aber minimieren den Datenverlust.

Wegen der Java-Version. Auf der Command-Line kannst Du übrigens mittels java -version Deine Java-Version prüfen (geht aber nur wenn der Befehl java über den $PATH erreichbar ist). Alternativ je nachdem wie du jameica startest ... liefert ja jameica auch die passende Java-Runtime mit. D.h. die musst Du nicht mal installieren - sie ist quasi portabel dabei ... man muß sie nur einbinden.

Gruß,
Stefan