Seite 8 von 13

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Samstag 4. Januar 2020, 16:49
von ManuelR
Mir ist es gerade wieder passiert und musste auf die 196er h2 downgraden..

Ich frage mich, ob dieses Problem auftauchen würde, wenn ich mit einer kompletten Neuinstallation starten würde und gibt es einen Weg meine aktive Mitglieder in die neue Installation zu migrieren.

Gibt es auf irgendeinem Weg eine Import/Exportfunktion?

Euch allen ein schönes neues Jahr!

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 5. Januar 2020, 18:41
von dgwhv-kassenwart
Hallo Carsten,

könntest du deine Lösung noch mal etwas genauer erklären? Wie kann man die Script-Befehle auslösen (CMD?, in welchem Verzeichnis?)? Ich bekomme immer die Fehlermeldung "Fehler: Hauptklasse org.h2.tools.Script konnte nicht gefunden oder geladen werden".

Vielen Dank im Voraus.

Volker

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 5. Januar 2020, 19:13
von KKS
Nachdem ich nochmals alles gründlich zu lesen (hier im thread und dort: viewtopic.php?f=5&t=4517&p=18193#p18193) und diverse Versuche mit h2-1.4.193|196|199|200.jar auf zwei Maschinen versucht habe, weiss ich wirklich nicht mehr weiter...

Diese (java?) org.h2.tools: es gibt ein Recover, welches mir mit 196.jar erfolgreich sql-code baut:
C:\Users\fvkks>java -cp c:\temp\h2-1.4.196.jar org.h2.tools.Recover -dir C:\Users\fvkks\.jameica\jverein\h2db
--> jverein.h2.sql mit offenbar allen (?) Mitgliederdaten in 14 MB. Es scheint also nichts verlorengegangen zu sein.

org.h2.tools.Script dient zum Sichern der jverein.h2.db und hilft mir nicht, wenn ich schon ein Recover gemacht habe - richtig? Jedenfalls führt das immer wieder zu der schon genannten Fehlermeldung "Exception in thread "main" org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 196""

org.h2.tools.RunScript zum Wiederherstellen mit der 199.jar:
C:\Users\fvkks>java -cp C:\temp\h2-1.4.199.jar org.h2.tools.RunScript -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db\jverein -user jverein -password jverein -script C:\temp\jverein.h2.sql
bricht ab:
Exception in thread "main" org.h2.jdbc.JdbcSQLFeatureNotSupportedException: Dieses Feature wird nicht unterstützt: "Restore page store recovery SQL script can only be restored to a PageStore file"
Feature not supported: "Restore page store recovery SQL script can only be restored to a PageStore file"; SQL statement:
baut aber eine jverein.mv.db mit einer handvoll unserer Daten (48 KB)
(die Wiederhgerstellung mit der 196.jar hatte jverein.mv.db mit 12 KB erstellt)

Die Option wieder eine h2.db zu erstellen:
C:\Users\fvkks>java -cp c:\temp\h2-1.4.199.jar org.h2.tools.RunScript -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db\jverein;MV_STORE=FALSE -user jverein -password jverein -script C:\temp\jverein.h2.sql
Bricht auch ab:
Exception in thread "main" org.h2.jdbc.JdbcSQLSyntaxErrorException: Benutzer "JVEREIN" besteht bereits
User "JVEREIN" already exists;
liefert aber noch mehr Daten: jverein.h2.db 15 MB

Wenn irgendjemand noch den Durchblick hat, wäre ich extrem dankbar für jeden Hinweis! Von mir aus auch Nightly installlieren... So langsam wird es kritisch für die Vereinsverwaltung. Meine Kollegen wären mittlerweile auch bereit jemanden zu bezahlen - ist da draußen eine/r, der das tun kann und will?

Danke!
Marcus.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 5. Januar 2020, 20:26
von NicoB77
Du solltest die neue Datenbank immer in einem leeren Ordner erzeugen. Bei Dir ist ist das "-dir"-Argument bei Restore und RunScript gleich, beim zweiten Aufruf solltest Du einen anderen Pfad angeben.

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Sonntag 5. Januar 2020, 23:39
von KKS
Vielen Dank Nico! Ja, Du hast recht, das ist verwirrend. Aber ich habe die Pfade beachtet bzw. jeweils aufgeräumt, die Dateien an der richtigen Stelle gehabt und den Zielordner nach dem Recover, vor dem RunScript, geleert...

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 6. Januar 2020, 17:36
von ManuelR
Und es ist wieder passiert. Nachdem ich 4 Stunden mit dem Programm gearbeitet habe ist es eingefroren und beim nächsten Start kam wieder die Fehlermeldung mit der Initialisierung.

Ich würde mich dem Vorschlag anschließen hierfür jemanden zu engagieren, der das Problem bearbeitet.
Wer kann hier soetwas wie einen Support übernehmen?

Bzw. wo findet man geeignete Leute?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Montag 6. Januar 2020, 19:08
von ManuelR
Wie ich es auch drehe und wende.

Die out.sql die ich versuche mit dem Script zu erstellen, wird immer nur 160 kb groß.

Ich habe auch versucht die Datenbanken mit Base auszulesen. Base schafft es sich mit der Datenbank zu verbinden, kann mir aber keine Tabellen anzeigen.

Irgendwelche Ideen?

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Dienstag 7. Januar 2020, 23:05
von KKS
Hier habe ich doch noch was gefunden:
https://stackoverflow.com/questions/418 ... 2-database

Für mich sah das dann so aus (vielleicht hilft dir das auch, Manuel?):

recovery tool:
C:\>java -cp c:\temp\h2-1.4.196.jar org.h2.tools.Recover -dir C:\Users\fvkks\.jameica\jverein\h2db
(jverein.h2.db löschen, jverein.h2.sql nach c:\temp verschieben)

leere PageStore Datei manuell erstellen (vielleicht nicht notwendig?):
C:\>echo $null >> C:\Users\fvkks\.jameica\jverein\h2db\jverein.h2.db

run script tool:
C:\>java -cp c:\temp\h2-1.4.199.jar org.h2.tools.RunScript -url jdbc:h2:C:\Users\fvkks\.jameica\jverein\h2db\jverein;MV_STORE=FALSE -user jverein -password jverein -script c:\temp\jverein.h2.sql -checkResults -continueOnError

Entscheidend war offenbar die Option -continueOnError: erst damit lief das trotz diverser Fehlermeldungen durch und erstellte eine h2.db, die in JVerein gelesen werden konnte und die Mitgliederdaten korrekt - zumindest in einem ersten check - anzeigt. Die neue db ist allerdings deutlich kleiner (16.5 statt 24 MB)... erstmal besser, als nix :-)

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Dienstag 14. Januar 2020, 12:52
von ManuelR
Danke Marcus. Habe mir erstmal durch komplette Neueingabe der Daten geholfen..

Diese Kommandozeilen muss ich mir bei Gelegenheit noch mal auf Linux übersetzen. Bei den letzten Durchgängen sind mir da schon ein paar Unterschiede aufgefallen..

Re: Fehler beim Initialisieren der Datenbank

Verfasst: Samstag 8. Februar 2020, 19:09
von ampf
"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."

Hallo DrMartinus, liebes Forum,
kann das jemand noch genauer erklären? Ich habe eine Vereinsverwaltung übernommen und das gleiche Problem: Das letzte Backup wurde auf 2.8.4 erstellt und ich habe 2.8.6 auf meinem Rechner installiert. Hibiscus ist und war auf 2.8.22, jverein ist und war auf 2.8.18.
Aber: Leider habe ich keine Vorstellung WIE GENAU und WO ich h2-1.4.199.jar durch h2-1.4.196.jar ersetzen kann.
Es wäre toll, wenn jemand das Schritt für Schritt darstellen könnte - ..