Seite 7 von 13

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 16. Dezember 2019, 06:46
von KKS
Danke für den input, Nico!
In der out.sql steht nur eine Zeile zum Anlegen des Benutzers.
Jameica läuft ansonsten ohne Fehlermeldung. Ich hatte den Ordner der alten Version umbenannt, bevor ich die neue installiert hatte. Allerdings habe ich das Programm dann wohl mit dem shortcut auf die alte Version gestartet, deswegen noch H2 1.4.196. Mit dem richtigen Aufruf steht die 199 im Protokoll - aber die Fehlermeldung bleibt bestehen, s.Anhang.
Ratlos...

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 16. Dezember 2019, 21:45
von NicoB77
Was ist denn der Inhalt der Datenbank, wenn Du sie mit LibreOffice öffnest (Anleitung)? Wenn sie dann nicht leer ist, würde ich die Funktion zum erzeugen der out.sql-Datei noch einmal starten und auf Fehlermeldungen achten. Kannst Du Deine Kommandazeile und ihre Ausgabe posten?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Dienstag 17. Dezember 2019, 08:42
von KKS
Ich konnte die Datenbank heute Morgen auf die Schnelle nicht öffnen, in LibreOffice Base irgendeine Fehlermeldung von wegen Java - ich schaue mir das heute Abend genauer an.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Dienstag 17. Dezember 2019, 22:46
von KKS
Klappt leider nicht - beim Testen der Verbindung in Base kommt:
SQL-Status: HY000
Fehler-Code: 50000
Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 196"
General error: "java.lang.ArrayIndexOutOfBoundsException: 196" [50000-199]
was ja irgendwie nach den H2-1.4.196|9.jar klingt?

Die out.sql kann ich auch nicht mehr erzeugen:
C:\Users\fvkks>java -cp C:\Program Files\jameica\lib\h2\h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db.bak\jverein -user jverein -password jverein -script C:/temp/out2.sql
Fehler: Hauptklasse Files\jameica\lib\h2\h2-1.4.196.jar konnte nicht gefunden oder geladen werden

Falls das von Bedeutung ist: meine Datenbankdatei (26 MB) jverein.h2.db steht übrigens unter C:\Users\fvkks\.jameica\jverein\h2db
Unter C:\Users\fvkks\.jameica\jverein\h2db\jverein steht eine h2db.mv.db (mit der "create user" - Zeile).

Besten Dank für jede weitere Idee!

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Mittwoch 18. Dezember 2019, 21:41
von DIG
KKS hat geschrieben: Dienstag 17. Dezember 2019, 22:46 Fehler: Hauptklasse Files\jameica\lib\h2\h2-1.4.196.jar konnte nicht gefunden oder geladen werden
Die Fehlermeldung ist doch eigentlich eindeutig: Die Bibliothek h2-1.4.196.jar wird nicht gefunden (am von Dir angegeben Ort ist ab jameica-Version 2.8.4 nur eine neuere Version).
Lade sie Dir herunter (Downloadquellen weiter oben in diesem Thread) und speichere sie bspw. nach c:\temp
Dann wird "java -cp C:\temp\h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db.bak\jverein -user jverein -password jverein -script C:/temp/out2.sql" funktionieren.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 19. Dezember 2019, 07:01
von KKS
ok, danke - allerdings kommt nun eine ähnliche (die gleiche?) Fehlermeldung, wie in dem log von Jverein:

C:\Users\fvkks>java -cp C:\temp\h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db.bak\jverein -user jverein -password jverein -script C:/temp/out2.sql
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 196"
General error: "java.lang.ArrayIndexOutOfBoundsException: 196" [50000-196]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:168)
at org.h2.message.DbException.convert(DbException.java:295)
at org.h2.table.RegularTable.removeRow(RegularTable.java:407)
at org.h2.store.PageStore.redo(PageStore.java:1581)
at org.h2.store.PageStore.redoDelete(PageStore.java:1554)
at org.h2.store.PageLog.recover(PageLog.java:346)
at org.h2.store.PageStore.recover(PageStore.java:1407)
at org.h2.store.PageStore.openExisting(PageStore.java:368)
at org.h2.store.PageStore.open(PageStore.java:289)
at org.h2.engine.Database.getPageStore(Database.java:2490)
at org.h2.engine.Database.open(Database.java:697)
at org.h2.engine.Database.openDatabase(Database.java:276)
at org.h2.engine.Database.<init>(Database.java:270)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:354)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:116)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:100)
at org.h2.Driver.connect(Driver.java:69)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.h2.tools.Script.process(Script.java:118)
at org.h2.tools.Script.runTool(Script.java:100)
at org.h2.tools.Script.main(Script.java:45)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 196
at org.h2.index.PageBtree.getRow(PageBtree.java:171)
at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:231)
at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:336)
at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:245)
at org.h2.table.RegularTable.removeRow(RegularTable.java:389)
... 24 more

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 19. Dezember 2019, 09:44
von DIG
Versuch mal, nach Datensicherung natürlich, die Datenbank zu reparieren:
java -cp c:\temp\h2-196.jar org.h2.tools.Recover -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db.bak\jverein -user jverein -password jverein
Was kommt da raus?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Donnerstag 19. Dezember 2019, 21:45
von KKS
Danke, DIG - da scheint sich immerhin was zu bewegen:

C:\Users\fvkks>java -cp c:\temp\h2-1.4.196.jar org.h2.tools.Recover -dir C:\Users\fvkks\.jameica\jverein\h2db

erstellt eine jverein.h2.sql mit den Mitgliederdaten (14 MB vs. 26 MB der jverein.h2.db).
Die habe ich nach C:\temp kopiert und vermutet, dass das script aus der sql wieder ein db daraus baut:

C:\Users\fvkks>java -cp C:\temp\h2-1.4.196.jar org.h2.tools.Script -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db\jverein -user jverein -password jverein -script C:\temp\jverein.h2.sql

aber da kommt nur eine jverein.mv.db mit 12 KB heraus.

Kommen wir der Lösung damit näher?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Freitag 3. Januar 2020, 09:00
von KKS
Hallo und ein gutes Neues Jahr zusammen!

Ich muss dieses Thema nochmal aufgreifen, bin nicht weitergekommen - hat jemand noch eine Idee?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Freitag 3. Januar 2020, 11:11
von DrMartinus
Ich kann zwar nicht bei diesem spezifischen Problem helfen, wollte aber zum Thema des Threads anmerken, dass auch bei mir JVerein geflissentlich den Dienst versagte, nachdem ich Jameica auf 2.8.6 aktualisiert hatte. Erst das Ersetzen der h2-1.4.199.jar durch h2-1.4.196.jar bringt JVerein wieder zum Laufen. Ich finde es schon recht merkwürdig, dass sich dieser Fehler immer weiter durchzieht. Hibiscus ist auf Version 2.8.22, JVerein auf 2.8.18.