🙏 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]Migration von HSQLDB > Firebird

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

[Gelöst]Migration von HSQLDB > Firebird

Beitrag von malt14 » Di 7. Apr 2020, 17:24

Guten Tag,

Mit der LO Version: 6.0.7.3 (x64) nutze ich mehrere Datenbanken, welche z.T. vor Jahren erstmals in der Version 3.x erstellt wurden. Ich setze 6.0.7.3 (x64) ein, weil es die letzte Version ist, welche nicht automatisch Base mit Firebird startet.

Im Handbuch (12.02.20) und unter https://www.familiegrosskopf.de/robert/ ... _migration las ich über die Migration von der internen HSQLDB zur internen Firebird-Datenbank. In diesem Forum suchte ich nach einer Lösung für mein Problem und fand keine.

Ich installierte eine Parallelversion 6.4.2.2 (x64) und versuchte dort eine der Datenbanken unter Firebird zu nutzen. Die Daten scheinen alle vollständig übertragen zu werden, auch Datum Spalten. Die meisten Abfragen, Formulare und alle Berichte funktionierten nicht.
Beispiel Formular mit Parameter:
(LOWER ( "author"."name") LIKE '%' || LOWER (:name) || '%' OR CAST( :name AS VARCHAR (255) ) IS NULL)

firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -206
*Column unknown
*NAME
*At line 1, column 132
caused by
'isc_dsql_prepare'

Ich übertrug eine leere Tabelle von HSQLDB nach Firebird, und testete ein Formular mit Parameter, es funktionierte nicht:

(LOWER ( "author"."name") LIKE '%' || LOWER (:name) || '%' OR CAST( :name AS VARCHAR (255) ) IS NULL)


firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -206
*Column unknown
*NAME
*At line 1, column 173
caused by
'isc_dsql_prepare'

In LO Version: 6.4.2.2 (x64) bearbeitete ich eine Datenbank als HSQLDB, speicherte diese und übertrug sie von HSQLDB nach Firebird; ich testete ein Formular mit Parameter, es funktionierte nicht.

In einer unter LO Version: 6.4.2.2 (x64) neu erstellten Datenbank und einer Tabelle mit Feldnamen und Feldtypen entsprechend der HSQLDB fügte ich die Daten über eine Calc Tabelle aus der HSQLDB ein. Das Formular mit Parameter funktionierte.

Die Struktur der Tabellen scheint nicht funktionsfähig von HSQLDB nach Firebird übertragen zu werden, da das Formular mit Parameter auch bei einer leeren Tabelle nicht funktionierte. Diese Tabelle enthielt keine Datum Feldtypen.


Abfragen, Formulare, und Berichte können nicht von LO Version: 6.0.7.3 (x64) nach LO Version: 6.4.2.2 (x64) kopiert werden.
Für mehrere Datenbanken alle Tabellen, Abfragen, Formulare, und Berichte neu unter Firebird zu erstellen, sowie die vorhandenen Daten in die Tabellen zu kopieren, wäre mühsam. Kann ich das vermeiden?
Die weitere Nutzung von Version: 6.0.7.3 (x64) ist wohl keine langfristige Lösung.

Grüße
Malt

geringe PC Kenntnisse
LibreOffice
Version: 6.0.7.3 (x64)
Gebietsschema: de_DE
Microsoft Windows 10
Zuletzt geändert von malt14 am Mi 8. Apr 2020, 17:50, insgesamt 1-mal geändert.

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

Re: Migration von HSQLDB > Firebird

Beitrag von RobertG » Di 7. Apr 2020, 18:38

Hallo Malt,

der im Handbuch erwähnte Code wird von mir nur unter meinem System getestet - OpenSUSE Linux. Es wäre aber merkwürdig, wenn da grundsätzlich etwas daneben liefe, nur weil Du Windows hast.

Erstellst Du die Firebird-Datenbanken aktuell mit LO 6.4.* aus einer HSQLDB?

Der Code, den Du dort nennst, ist doch keine gesamte Abfrage. Da fehlt mir etwas. Und dann noch die Frage: stimmt "Formular" in dem Zusammenhang? Startest Du Formulare und musst dann direkt einen Parameter eingeben?

Ich weiß, dass es Leute gibt, die gerne mit Parametern arbeiten. Bugs an dieser Stelle fallen mir nur nie auf, weil ich eben Parameter überhaupt nicht nutze und nur für das Handbuch getestet habe.

Ich habe jetzt den Code in einer einfachen Abfrage getestet:

Code: Alles auswählen

SELECT * FROM "Tabelle1"
 WHERE LOWER ( "Name" )
 LIKE '%' || LOWER ( :name ) || '%' OR CAST( :name AS VARCHAR ( 255 ) ) IS NULL
Funktioniert hier mit Firebird einwandfrei.

Oder meinst Du den Bug: https://bugs.documentfoundation.org/sho ... ?id=117589? Dann schau bitte hier nach, wie das behoben werden kann: https://www.familiegrosskopf.de/robert/ ... _migration - siehe die Überschrift "Migrationsbug bei Unterformularen und Parameterabfragen", Stichwort: db:parameter-name-substitution .

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

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Migration von HSQLDB > Firebird

Beitrag von Wanderer » Mi 8. Apr 2020, 09:23

Hallo,

nur um es erwähnt zu haben: Du könntest von der internen Datenbank auf die externe HSQL-DB umstellen. Damit sollten keine Probleme beim Wechsel der LO Version bestehen und Deine Abfragen könnten erstmal bleiben.

Man verliert dabei aber die bequeme Weitergebbarkeit einer einzelnen Datei, wenn man das benötigt.

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

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

Re: Migration von HSQLDB > Firebird

Beitrag von RobertG » Mi 8. Apr 2020, 11:07

Hallo Jörn,

solange die interne HSQLDB ausreichend ist besteht für den Normaluser keine Notwendigkeit, überhaupt nach Firebird oder zu einer externen Variante zu wechseln. Um dem nervigen Migrationsassistenten zu entgehen müssen lediglich die experimentellen Funktionen ausgeschaltet werden. Denn gerade der Migrationsassistent ist noch nichts für einfache User, da er eben Fehler einbaut, die beim direkten Erstellen einer Firebird-Datei gar nicht erst auftauchen.

Bis die interne Firebird-Datenbank auch zum Standard in LO werden kann ist noch ein weiter Weg ...

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

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Migration von HSQLDB > Firebird

Beitrag von malt14 » Mi 8. Apr 2020, 12:19

Guten Tag Robert,

Dank für Deine Antwort.

Ja ich erstelle die Datenbanken mit 6.4.2.2 (x64), und damit wandle ich die bestehende HSQLDB in Firebird um. Damit erstellte ich auch die Datenbank, die nach dem Einfügen der Daten aus der HSQLDB Datenbank problemlos mit dem Formular Parameter Filter funktionierte.

Als Beispiel führte ich den Parameter Code aus einem Formular an, den ich dort als Filter benutze, damit nur die benötigten Datensätze angezeigt werden.
Aber auch Abfragen und Berichte funktionieren nach der Umwandlung von HSQLDB in Firebird nicht. Bei der Umwandlung muss es wohl bei meinen Datenbanken ein Problem geben.

Ich startete LO 6.0.7.3 (x64) und LO 6.4.2.2 (x64) mit leeren Roaming Dateien, Abfragen etc. funktionierten dann auch nicht.
Das Makro Datenbankbackup funktionierte nicht:
datenbackup-2020-04-08-11-36-57.PNG
datenbackup-2020-04-08-11-36-57.PNG (45.87 KiB) 5153 mal betrachtet

Ich nutze LO mit experimentellen Funktionen, weil ich das früher für den Makro Recorder benötigte. Ich weiß nicht, welche Funktionen zur Zeit damit ermöglicht werden und ob ich diese brauche.
Es wäre wohl besser, meine Datenbanken in Firebird umzuwandeln. LO wird HSQLDB langfristig nicht unterstützen.

Grüße
Malt

LibreOffice
Version: 6.0.7.3 (x64)
Gebietsschema: de_DE
Microsoft Windows 10

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Migration von HSQLDB > Firebird

Beitrag von malt14 » Mi 8. Apr 2020, 12:21

Guten Tag Jörn,

Dank für den Hinweis.

Ich kenne externe HSQLDB nicht und muss mich noch informieren, wie ich darauf umstelle und es dann mit den vorhandenen Datenbanken nutze.

Grüße
Malt

LibreOffice
Version: 6.0.7.3 (x64)
Gebietsschema: de_DE
Microsoft Windows 10

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

Re: Migration von HSQLDB > Firebird

Beitrag von RobertG » Mi 8. Apr 2020, 12:30

Hallo Malt,

zuerst einmal: Hast Du die Hinweise gelesen und ausprobiert? Vor allem den Bug mit db:parameter-name-substitution ? Dazu musst Du die Datenbankdatei entpacken und diesen Parameter von "false" auf "true" setzen.

Zum Makro der Datenbanksicherung: Die Meldung sagt doch aus, dass ein bestimmter Pfad nicht gefunden werden kann. Dann würde ich direkt davor einmal mit

Code: Alles auswählen

msgbox "Start: " & sUrl_Start
msgbox "Ziel: " & sUrl_Ziel
die beiden Variablen abfragen. Da scheint doch irgendetwas im Argen zu liegen.

... und zu der Notwendigkeit, nach Firebird zu wechseln: Ich sehe die nicht. Da ist jetzt so lange nichts passiert, und alltagstauglich ist das Ganze noch nicht.

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

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Migration von HSQLDB > Firebird

Beitrag von malt14 » Mi 8. Apr 2020, 13:49

Guten Tag Robert,

bisher wußte ich nicht, daß ich mir die einzelnen Teile einer odb Datei ansehen und bearbeiten kann, wenn ich diese mit der Endung zip versehe.
Ich änderte die Datei content.xml nach Deinen Hinweisen und nun funktioniert das Formular mit Filter Parameter. Danke!

Vorhande Berichte funktionieren nicht, Fehlermeldung:
Fehlercode: 1

firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -104
*Token unknown - line 1, column 931
*"addresses"
caused by
'isc_dsql_prepare'

Edit: Ein neu erstellter Bericht mit Bezug auf eine Tabelle funktioniert. In meinem ersten Versuch bezog sich der Bericht auf eine defekte Abfrage.

Bei Ausführung des Makros Datenbankbackup:

Start: file:///I:/to_do/LO-FB/books_media.od
Ziel:
Datenbankbackup2-2020-04-08-13-32-45.PNG
Datenbankbackup2-2020-04-08-13-32-45.PNG (43.87 KiB) 5127 mal betrachtet
Starte ich LO mit den vorhandenen Roaming Daten funktioniert das Makro Datenbankbackup.

Start: file:///I:/to_do/LO-FB/books_media.od
Ziel:

Wechsel zu Firebird:
Welche Funktionen zur Zeit experimentell sind, konnte ich nicht herausfinden. Daher weiß ich nicht, ob ich experimentelle Funktionen öfters benutze, so daß eine höhere LO Version als 6.0.7.3 umständlich im Einsatz wäre. Und künftig bei 6.0.7.3 stehen zu bleiben, ist wohl nicht empfehlenswert.

Grüße
Malt

LibreOffice
Version: 6.0.7.3 (x64)
Gebietsschema: de_DE
Microsoft Windows 10
Zuletzt geändert von malt14 am Mi 8. Apr 2020, 16:36, insgesamt 1-mal geändert.

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

Re: Migration von HSQLDB > Firebird

Beitrag von RobertG » Mi 8. Apr 2020, 14:59

Hallo Malt,

das ist jetzt ein ziemliches Durcheinander an Meldungen.

Zum Makro:
Schau einmal unter Extras > Optionen > LibreOffice > Pfade beim Eintrag für "Sicherheitskopien" nach. Steht da ein Pfad? Und dann: Verlagere einmal die Abfrage für das Ziel eins weiter nach unten. In der 2. Messagebox wird das Ziel abgefragt, das erst in der folgenden Zeile überhaupt definiert wird.
Stimmt denn der Eintrag bei "Start:"? Da fehlt zumindest das "b" von ".odb".

Zu den Berichten kann ich ohne Beispiel nichts sagen. Ich kann nicht wissen, wie Du irgendwo "addresses" für den Bericht definiert hast.

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

malt14
Beiträge: 125
Registriert: Fr 7. Nov 2014, 06:21

Re: Migration von HSQLDB > Firebird

Beitrag von malt14 » Mi 8. Apr 2020, 16:35

Guten Tag Robert,

vielen Dank für Deine Geduld mit mir!

Makro:
Es war der Sicherungspfad. Den änderte ich in meinen Einstellungen, die Standardeinstellungen bei leerem Roaming sind andere. Nach der Änderung des Sicherungspfades funktioniert das Makro.
Nachdem ich Deinen Text gelesen habe, wird mir klar, daß die "msgbox "Ziel: " & sUrl_Ziel" so natürlich kein Ergebnis liefern kann.


Berichte:
Es war mein Fehler. Ein neu erstellter Bericht funktioniert. In meinem ersten Versuch bezog sich der Bericht auf eine defekte Abfrage.

Ich werde es nun einmal mit LO 6.4.2.2 ohne experimentelle Funktionen versuchen, so daß ich meine HSQLDB Datenbanken vorerst weiter verwenden kann.

Dank für Deine Hilfe!

Grüße
Malt

LibreOffice
Version: 6.0.7.3 (x64)
Gebietsschema: de_DE
Microsoft Windows 10


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