Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

H2-Datenbank: readonly-User anlegen, optional mit AUTO_SERVER starten #43

Merged
merged 1 commit into from Oct 9, 2023

Conversation

NicoB77
Copy link

@NicoB77 NicoB77 commented Sep 29, 2023

Um auf die H2-Datenbank bei laufendem Programm zugreifen zu können, kann die Datenbank mit AUTO_SERVER gestartet werden (dafür in cfg die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties erzeugen; Inhalt ist die Zeile database.driver.h2.auto_server=true). Um nicht ungewollt Änderungen in der Datenbank vorzunehmen, habe ich den User readonly mit Passwort jverein angelegt, der nur Leserechte hat.

Wir verwenden Python-Skripte für diverse Auswertungen, und es ist sehr lästig, jedesmal Jameica schließen zu müssen. Unter Linux hatte es noch funktioniert, die Datenbankdatei zu kopieren, aber unter Windows kann keine Kopie erzeugt werden, solange Jameica läuft.

 Um auf die H2-Datenbank bei laufendem Programm zugreifen zu können, kann die Datenbank mit AUTO_SERVER gestartet werden (dafür in cfg die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties erzeugen; Inhalt ist die Zeile database.driver.h2.auto_server=true). Um nicht ungewollt Änderungen in der Datenbank vorzunehmen, habe ich den User readonly mit Passwort jverein angelegt, der nur Leserechte hat.
@MSchmalzl
Copy link

Ich habe das mal mit LibreOffice getestet.

Wenn Jameica läuft erhalte ich die Fehlermeldung, dass die Datenbank bereits in Verwendung ist. Schließe ich Jameica funktioniert der Zugriff mit dem Benutzer readonly.

@NicoB77
Copy link
Author

NicoB77 commented Oct 1, 2023

Du musst ;AUTO_SERVER=TRUE an den jdbc-String anhängen. Hier das vollständige Vorgehen:

Vor dem Start von Jameica im cfg-Unterordner des Jameica-Benutzerordners die Datei de.jost_net.JVerein.rmi.JVereinDBService.properties anlegen und diese Datei die Zeile database.driver.h2.auto_server=true schreiben. Nach dem Start von Jameica sieht dann die Datei jverein.lock.db so aus:

#Sun Oct 01 11:12:48 CEST 2023  
server=127.0.1.1\:42381  
hostName=XXX  
method=file  
id=18aea82ff7307ecfc1566a8dee2196deb178e391265

In LibreOffice den jdbc-String anpassen: h2:file:[Jameica-Benutzerordner]/jverein/h2db/jverein;AUTO_SERVER=TRUE

@MSchmalzl
Copy link

In LibreOffice den jdbc-String anpassen: h2:file:[Jameica-Benutzerordner]/jverein/h2db/jverein;AUTO_SERVER=TRUE

Das habe ich natürlich nicht gemacht. Jetzt funktioniert es. Danke.

@MSchmalzl MSchmalzl self-requested a review October 1, 2023 12:37
@willuhn willuhn merged commit ce34677 into openjverein:master Oct 9, 2023
@NicoB77 NicoB77 deleted the pr_auto_server branch October 25, 2023 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants