🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ 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. 🤗

[gelöst] Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
geraldfo
Beiträge: 4
Registriert: Do 20. Jul 2023, 15:50
Kontaktdaten:

[gelöst] Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von geraldfo » Do 20. Jul 2023, 16:18

Hallo allerseits,

ich habe ein odb-File mit eingebetteter HSQL-Datenbank, vielen Queries und einem Formular mit ziemlich vielen Elementen.

Zukünftig möchte ich eine per ODBC angebundene SQLite-DB verwenden.

Der grundsätzliche Zugriff auf die externe DB klappt bereits.
Datenimport und -export sollten auch kein Problem sein.

Die Systemumgebung ist Ubuntu-Linux.

Meine Frage:
Kann man ein vorhandenes odb-File so ändern, dass es auf eine externe DB statt auf die interne DB zugreift?
Oder muss man ein odb-File komplett neu aufbauen?

LG Gerald
Zuletzt geändert von geraldfo am Fr 21. Jul 2023, 14:49, insgesamt 1-mal geändert.

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

Re: Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von RobertG » Fr 21. Jul 2023, 08:58

Hallo Gerald,

Du kannst die Daten von einer Datenquelle zur anderen kopieren. Das geht aber schon einmal davon aus, dass alle Felder auch entsprechend in der anderen Datenbank passen.
Mit den Abfragen und Ansichten bekommst Du vermutlich erste Probleme. Das ist ja das, was so problematisch beim migrieren von der internen HSQLDB zur internen Firebird Datenbank ist.

Die vorhandene *.odb-Datei könntest Du sinnvoll nur bei einer neuen Datenquelle nutzen, wenn es sich dabei um die gleiche Datenbankstruktur handelt. Bei Dir wäre das also eine neuere HSQLDB, nicht aber SQLite.

Im Prinzip geht natürlich eine entsprechende Änderung innerhalb so einer *.odb-Datei. Schau Dir dazu im Handbuch einmal den Anhang an, besonders das Kapitel "Änderung der Datenbankverbindung zur externen HSQLDB". Da stehen die entsprechenden Hinweise, an welcher Stelle der in der *.odb-Datei liegenden "content.xml" Änderungen für HSQLDB vorgenommen werden müssen. Jetzt müsstest Du eine neue *.odb-Datei mit den entsprechenden Verbindungsdaten zu SQLite öffnen und die entsprechenden Verbindungsdaten in der alten *.odb-Datei durch die neuen ersetzen.

Gruß

Robert
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

geraldfo
Beiträge: 4
Registriert: Do 20. Jul 2023, 15:50
Kontaktdaten:

Re: Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von geraldfo » Fr 21. Jul 2023, 11:22

Hallo Robert,

die externe Datenbank muss natürlich die gleiche Struktur haben.

Ich werd mir die Doku und die Datei content.xml ansehen.

Herzlichen Dank!
Gerald

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

Re: Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von F3K Total » Fr 21. Jul 2023, 13:39

Moin,
es hat mich interessiert ob mir die Verbindung via JDBC gelingen würde, und ja, es klappt.
Anbei eine dafür vorbereitete .odb-Datei mit einem Makro.
Ich habe mir folgenden JDBC-Driver heruntergeladen und auf meinem Rechner abgelegt.
Einfach das Makro in der angehängten .odb-Datei über das Menü starten,
SQLITE.png
SQLITE.png (10.27 KiB) 3649 mal betrachtet
dann die eigene oder unten mitgelieferte .sqlite Datenbank, im Anschluss den .jar-Driver auswählen, speichern, fertig ist die .odb mit SQLITE-Verbindung über JDBC.
Getestet mit AOO, LO unter Windows 10 und Linux Mint.

Gruß und viel Erfolg damit.
Dateianhänge
SQLITE.zip
enthält eine .odb Datei und zum Testen eine .sqlite Datei
(5.96 KiB) 121-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO

geraldfo
Beiträge: 4
Registriert: Do 20. Jul 2023, 15:50
Kontaktdaten:

Re: Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von geraldfo » Fr 21. Jul 2023, 13:53

Hallo F3K Total,

vielen Dank!!!

Ich probier’s jetzt einmal mit ODBC. Es ist aber gut zu wissen, dass es noch eine Alternative gibt.

Schönes Wochenende!
Gerald

geraldfo
Beiträge: 4
Registriert: Do 20. Jul 2023, 15:50
Kontaktdaten:

Re: Umstellung Anwendung von eingebetteter DB auf externe SQLite-DB

Beitrag von geraldfo » Fr 21. Jul 2023, 14:34

Hallo allerseits,

ich bin Roberts Vorschlag gefolgt – und es hat geklappt!

Zusammenfassung:
[*] Arbeitsverzeichnis anlegen
[*] odb-File in Verzeichnis kopieren
[*] Arbeitskopie odb-File entzippen
[*] content.xml editieren (siehe unten)
[*] Unterverzeichnis database/ löschen (enthält die nicht mehr benötigte eingebettete HSQLDB)
[*] Arbeitskopie odb-File löschen
[*] Inhalt des Arbeitsverzeichnisses zippen = neues odb-File

Einträge in content.xml

Eingebettete HSQL-Datenbank

Code: Alles auswählen

<db:connection-data>
    <db:connection-resource xlink:href="sdbc:embedded:hsqldb" xlink:type="simple"/>
    <db:login db:is-password-required="false"/>
</db:connection-data>
<db:driver-settings db:system-driver-settings="" db:base-dn="" db:parameter-name-substitution="false"/>
Externe SQLite-Datenbank, per ODBC angebunden

Code: Alles auswählen

<db:connection-data>
    <db:connection-resource xlink:href="sdbc:odbc:datenbank_name" xlink:type="simple"/>
    <db:login db:is-password-required="false"/>
</db:connection-data>
<db:driver-settings db:system-driver-settings="" db:base-dn=""/>
'datenbank_name' muss durch den richtigen Namen erstzt werden.

Zum leichteren Editieren von content.xml habe ich ein paar Zeilenschaltungen eingefügt und drin lassen. Ich gehe davon aus, dass das keine Probleme macht.

LG Gerald


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