🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Fr 15. Mär 2024, 18:03

Hallo!

Wenn man die HSQL-Datenbank im aufgeteilten Modus verwendet, also außerhalb der odb-Datei mit einem file-Link auf die Datenbankdateien, dann liegt die Datenbank in einem eigenen Ordner, und in diesem Ordner liegt auch die benutzte hsqldb.jar-Datei. Dort ist die Datenbank drin.

Jetzt würde ich gerne die Datenbank-Dateien (dbname.data, dbname.script usw.) von der hsqldb.jar-Datei trennen.
Grund ist, daß die Datenbank selbst auf einem verschlüsselten Laufwerk liegt, die jar-Datei und die odb-Datei das aber nicht brauchen, weil dort ja keine Daten enthalten sind.

Weiß jemand, ob und wie man das hinbekommt? Also odb-Datei und jar-Datei unverschlüsselt unter Eigene Dateien, und die DB-Dateien auf einem Veracrypt-Laufwerk?

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von RobertG » So 17. Mär 2024, 08:34

Die hsqldb.jar, die Du da nutzt, muss nur in dem Class-Path (oder wie das gerade heißt) hinterlegt werden. Aber Vorsicht: Bei HSQLDB ist das dann so, dass die internen HSQLDB-Datenbanken auch versuchen, diese hsqldb.jar zu nutzen. Und wenn das eine neuere Variante ist, dann bekommst Du Probleme mit internen Datenbanken.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von F3K Total » Mi 20. Mär 2024, 18:53

Moin,
Ich mache das so, dass ich den Classpath per Makro in die .odb eintrage. So habe ich dann auch keine Probleme mit "normalen" .odb Dateien.
Habe gerade keinen Rechnerzugriff, kann aber demnächst einen Code-Snipsel posten.
Gruß R
EDIT: so sollte es klappen:

Code: Alles auswählen

Sub insert_link_to_HSQLDB_JAR
    sdriverURL = ConverttoUrl(C:\Users\XXX\hsqldb.jar")
    thisdatabasedocument.datasource.settings.JavaDriverClassPath = sdriverURL
    thisdatabasedocument.store
end sub
Windows 11: AOO, LO Linux Mint: AOO, LO

Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Do 21. Mär 2024, 18:10

Hallo Robert, hallo R!

So ähnlich macht das das von mir bisher benutzte Makro auch:
https://forum.openoffice.org/en/forum/v ... 80#p293026
(unter Option 1 - 3.x)

Das ist doch dieser berühmte "additional classpath", neben dem man keinen globalen Classpath eintragen soll? Das funktioniert auch bisher, und der classpath in der Datei vermeidet das von Robert erwähnte Problem mit embedded Dbs.

Ich habe nur den Code nie hinterfragt. Das bisherige Makro setzt für jede Base-Datei den classpath direkt neben die Datei, in eine eigene jar-Datei, die sich dort befinden muß. Das führt bei mir zu einer unnötig langsamen Datenbank, weil der ganze DB-Pfad sich auf einem Veracrypt-Laufwerk befindet!

In Zukunft werde ich das wohl besser aufteilen, odb-Datei und jar-Datei unverschlüsselt, und nur die DB-Dateien auf dem verschlüsselten Laufwerk. :idea:

Danke!

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Di 9. Apr 2024, 12:02

Hallo R,

sorry, ich komme mit dem Makro nicht so ganz klar.
Aktuell sieht es bei mir so aus, da irgendwas mit einem Anführungszeichen nicht paßte:

Code: Alles auswählen

Sub F3KTotal_insert_link_to_HSQLDB_JAR
REM Pfad zu einer aktuellen JAR-Datei, der im odb-Dokument gespeichert wird
	sPfad = "C:\Users\...\HSQLDB\"
    sURL = ConverttoUrl(sPfad)
    sdriverURL = sURL & "hsqldb.jar"
    msgbox sdriverURL
    thisdatabasedocument.datasource.settings.JavaDriverClassPath = sdriverURL
    thisdatabasedocument.store
end sub
Beim Ausführen erhalte ich "Objektvariable nicht belegt" bei thisdatabasedocument, weil ich das Makro nicht in der Base-Datei, sondern unter "Meine Makros..." gespeichert hatte.

:?: Da würde mich interessieren, wie man die gerade geöffnete Base-Datei aufrufen kann, wenn das Makro unter "Meine Makros" steht.

Und wenn ich das Makro versuchsweise in der Base-Datei speichere, kommt zwar diese Fehlermeldung nicht mehr, aber ich kann nicht erkennen, ob das Makro etwas bewirkt hat. Kann ich die vorgenommene Pfadeinstellung im Erfolgsfall irgendwo erkennen?

Edit:
Anders gefragt: gibt es nach der Makroausführung irgendeine Stelle in der odb-Datei, wo der neue Pfad hinterlegt ist? Ich finde in der zip-Datei nichts.

Vielen Dank,

Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Di 9. Apr 2024, 15:55

:?: Da würde mich interessieren, wie man die gerade geöffnete Base-Datei aufrufen kann, wenn das Makro unter "Meine Makros" steht.
Das hab ich gefunden: statt "thisdatabasedocument..."

Code: Alles auswählen

thiscomponent.datasource.settings.JavaDriverClassPath = sdriverURL
und
thiscomponent.store
Aber wo der Pfad zur hsqldb.jar gespeichert wird, ist mir ein Rätsel.
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Di 9. Apr 2024, 16:01

Aber wo der Pfad zur hsqldb.jar gespeichert wird, ist mir ein Rätsel.
Habs gefunden! In der content.xml steht nach Ausführung des Makros:
<db:data-source-setting-value>file:///C:/Users/.../HSQLDB/hsqldb.jar</db:data-source-setting-value>
Merke: niemals mit dem internen 7zip-Dateibetrachter nach Zeichenketten suchen. Der kann das wohl nicht.

Gruß
Freischreiber
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von F3K Total » Di 9. Apr 2024, 19:27

Na, dann ist es ja gut.
Ich empfehle die Verwendung von Xray oder MRI.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Freischreiber
* LO-Experte *
Beiträge: 829
Registriert: Fr 28. Mär 2014, 10:41

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von Freischreiber » Mi 10. Apr 2024, 09:04

F3K Total hat geschrieben:
Di 9. Apr 2024, 19:27
Ich empfehle die Verwendung von Xray oder MRI.
Und welches von beiden empfiehlst du am meisten? Ich lese immer von beiden gleichzeitig und dann vertage ich die Entscheidung, welches ich nehmen soll... :roll:
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Externe (gesplittete) HSQLDB: Datenbankdateien von hsqldb.jar trennen?

Beitrag von F3K Total » Mi 10. Apr 2024, 21:46

Moin,
ich habe mit Xray angefangen komme damit gut klar und benutze es aus Gewohnheit. MRI kann noch bissel mehr.
Aus meiner Sicht also egal.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten