🙏 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. 🤗

Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Cindy
Beiträge: 7
Registriert: Di 15. Dez 2020, 17:29

Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von Cindy » Di 15. Dez 2020, 18:15

Die Datenbank lief auf einer alten Base-Version, wobei Base das Frontend und Maria das Backend war. Ich habe alles
upgedatet auf:
MariaDB 5.5
LibreOffice 7.0.3
Angebunden über JDBC
MySQL-Connector

Verbindung läuft; Authentifizierung läuft; Tabellen laufen; viele Abfragen laufen; viele Formulare laufen
einige Makros waren fehlerhaft; größtenteils repariert;

Fehler in den Abfragen:
Einige Abfragen laufen nicht und ich kann es mir nicht erklären. Exemplarisch habe ich hier mal einige vorgestellt.
Beispielsweise habe ich eine sehr komplexe Abfrage, die eine Rechnungsausgangsliste erstellt. Diese Abfrage funktioniert als Abfrage (ist aber zu komplex für den Entwurfsmodus) und gibt mir die gewünschten Datensätze zurück. Weiterhin gibt es die Rechnungsausgangsliste_Steuerberater Abfrage, die auf die eben genannte Abfrage zurückgreift:
Statement:
SELECT `Rechnungsausgangsliste`.`Rechnungsnummer`, `Rechnungsausgangsliste`.`Rechnungsdatum`, `Rechnungsausgangsliste`.`Träger-Name`, `Rechnungsausgangsliste`.`Rechnungsbetrag-Brutto`, `Rechnungsausgangsliste`.`Zahlungseingang`, `Auditoren`, `Maßnahme`, `Zertifikat`, `Rechnungsausgangsliste`.`Bemerkung`
FROM `Rechnungsausgangsliste`, `meinedb`.`buffer` AS `buffer`
WHERE `Rechnungsausgangsliste`.`Rechnungsdatum` BETWEEN `buffer`.`Zeitraum_von` AND `buffer`.`Zeitraum_bis`

Diese Abfrage funktioniert. Ich habe sehr ähnlich strukturierte Abfragen, die auf die Rechnungsausgangsliste zurückgreifen, die nicht gehen. Ich habe daraufhin die Statements reduziert, bis ich bei
select * from Rechnungsausgangsliste anlangte. Es ging nicht. Die Fehlermeldung war wie immer: "Die Dateninhalte konnten nicht geladen werden"

Daraufhin habe ich eine neue Abfrage direkt in SQL erstellt und das funktionierende Statement rüberkopiert und es ging NICHT. Es war kopiert. Kein versehentlicher Punkt oder whatever. Das ist für mich nicht erklärlich. Ich habe mir daraufhin die content.xml angeschaut, das sah aber bis auf die Bezeichnung identisch aus. Dennoch ging es nicht.

Bei den nicht in Base funktionierenden Statements ging es übrigens immer, wenn ich die Statements direkt in Maria ausgeführt hatte.

Alternativ hatte ich versucht, die komplexe Anfrage Rechungsausgangsliste als Ansicht zu speichern. Gleiche Fehlermeldung. Wenn ich den View übrigens auf der MariaDB-Ebene ansehe, ist er da und gibt mir die Datensätze zurück.

Alternativ hatte ich versucht, Views in MariaDB direkt zu erstellen. Diese waren in Base nicht sichtbar.

Fehler in den Formularen basieren - soweit ich das überblicken kann - darauf, dass einige Abfragen nicht laufen. Darum kümmere ich mich nach den Abfragen.
Berichte und restliche Makros analog dazu.

Ich hoffe sehr, dass jemand eine Idee hat. Meine sind nun aus.

Tausend Grüße
Cindy

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von gogo » Di 15. Dez 2020, 18:52

Treiberproblem.
... bis ich bei select * from Rechnungsausgangsliste anlangte. Es ging nicht ...
Du musst vermutlich irgendwo ein "use meineDatenbank" unterbringen, damit der Treiber weiß welches Schema er verwenden muss. Meist reicht schon ein Testlauf:

Code: Alles auswählen

select * from meineDatenbank.Rechnungsausgangsliste
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

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

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von RobertG » Di 15. Dez 2020, 20:01

Und was vielleicht noch wichtig ist: Du schreibst von der MariaDB und einem JDBC MySQL-Connector.
Für die MariaDB bietet sich der JDBC-Treiber von https://downloads.mariadb.com/Connectors/java/ an. Der Treiber kann ebenso in den Class-Pfad eingebunden werden und wird mit org.mariadb.jdbc.Driver angesprochen.
Es könnte ja sein, dass der MySQL-Connector neueren Datums nicht mehr einwandfrei mit der MariaDB läuft. Ich habe das hier jetzt allerdings nicht weiter getestet.
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

Cindy
Beiträge: 7
Registriert: Di 15. Dez 2020, 17:29

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von Cindy » Di 15. Dez 2020, 20:06

Bei der Ansprache des Treibers wird die DB schon übergeben:
jdbc:mysql://localhost:3306/meineDB?autoReconnect=true&amp;serverTimezone=Europe/Berlin

Und es geht ja bei der Abfrage Rechnungsausgangsliste_Steuerberater - aber nicht bei der mit dem kopierten Statement.

Kann es sonst eine versteckte Kodierung sein? Irgendwelche Whitespaces, die ungewöhnlich reagieren?

Cindy
Beiträge: 7
Registriert: Di 15. Dez 2020, 17:29

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von Cindy » Di 15. Dez 2020, 21:09

RobertG hat geschrieben:
Di 15. Dez 2020, 20:01
Und was vielleicht noch wichtig ist: Du schreibst von der MariaDB und einem JDBC MySQL-Connector.
Für die MariaDB bietet sich der JDBC-Treiber von https://downloads.mariadb.com/Connectors/java/ an. Der Treiber kann ebenso in den Class-Pfad eingebunden werden und wird mit org.mariadb.jdbc.Driver angesprochen.
Es könnte ja sein, dass der MySQL-Connector neueren Datums nicht mehr einwandfrei mit der MariaDB läuft. Ich habe das hier jetzt allerdings nicht weiter getestet.
Hallo Robert,
mit dem Maria-Connector habe ich es nicht geschafft, die Verbindung herzustellen. Daher bin ich wieder auf den Mysql-Treiber umgestiegen.
Viele Grüße
Cindy

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

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von RobertG » Di 15. Dez 2020, 21:38

Hallo Cindy,

das mit dem Connector von MariaDB funktioniert hier einwandfrei. Hast Du denn wirklich org.mariadb.jdbc.Driver als MySQL-JDBC-Treiberklasse angegeben?

Wenn Du mit dem lokalen Rechner arbeitest, also nicht über das Internet nach Daten suchst, dann brauchst Du autoReconnect nicht. Du hast doch die beständige Verbindung.
Auch mit dem MySQL-Treiber funktioniert das Ganze über com.mysql.jdbc.Driver.

Und so ist der Verbindungsstring bei mir, wenn ich direkt über JDBC gehe, nicht über den MySQL-Zuschnitt von LibreOffice:

Code: Alles auswählen

mysql://localhost/libretest?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
Und die Treiberklasse dafür ist dann

Code: Alles auswählen

com.mysql.cj.jdbc.Driver
Funktioniert hier ebenso einwandfrei bei Abfragen.

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

Cindy
Beiträge: 7
Registriert: Di 15. Dez 2020, 17:29

Re: Datenbankmigration - Die Dateninhalte konnten nicht geladen werden

Beitrag von Cindy » Mo 21. Dez 2020, 19:38

Ich habe die dahinterliegenden Abfragen so verändert, dass ich keine "Unterabfragen" (Abfragen von Abfragen) verwende. Dann geht es. Ist nicht elegant, funktioniert aber zuverlässig.


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