MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
rasonprof
Beiträge: 4
Registriert: Sa 7. Jul 2018, 12:36

MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von rasonprof » Di 7. Aug 2018, 11:39

MariaDB wird über den original MariaDB JDBC Connector angebunden. Hierbei kann in Base nicht die direkte JDBC Anbindung gewählt werden.
Da dann keine Beziehungen erstellt werden können. Dieser Weg funktioniert bei PostgreSQL. Bei MariaDB, ich vermute bei MySQL ist es identisch, muss man den Weg über die MySQL Anbindung gehen und dort kann dann die JDBC Anbingung gewählt werden.

Eine unter LO 6.0 erstellte DB funktioniert bisher einwandfrei. Ich hatte sie einmal unter LO 6.2 aufgerufen.
Dort erschien unterstehende Fehlermeldung. Ich war bei der Alpha (6.2) von einem versionsbedingten Fehler ausgegangen.
Nachdem durch das Update auf 6.1 die 6.0 überschrieben wurde, trat hier das gleiche Symptom auf. Ich habe wieder auf 6.0 incl. Updates gewechselt:

Dieses ist die von mir erstellte Abfrage.:
SELECT `lagerort`, `ID_lagerort` FROM `boostermodule`.`tbl_lagerort` AS `tbl_lagerort`

Daraus resultiert folgende Fehlermeldung:

Could not set parameter at position 1 (values was 1)
Query - conn:8(M) - "SELECT * FROM `boostermodule`.`tbl_lagerort` WHERE ( `boostermodule`.`tbl_lagerort`.`ID_lagerort` = :link_from_lagerort_ID )"

LO scheint sie intern umzuwandeln.

mfg
rasonprof

RobertG
Beiträge: 1906
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RobertG » Di 7. Aug 2018, 16:24

Hallo rasonprof,

wird dieser Bug hier sein: https://bugs.documentfoundation.org/sho ... ?id=118112. Welche 6.1-Version benutzt Du denn? Da ist im Moment noch eine Diskussion drum, wie der Bug denn nun richtig beseitigt wird. 6.1.0.3 sollte danach funktionieren.

Gruß

Robert

rasonprof
Beiträge: 4
Registriert: Sa 7. Jul 2018, 12:36

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von rasonprof » Mi 8. Aug 2018, 12:03

Hallo Robert,

als letztes war es die RC2. Ich habe soeben die RC3 installiert. Der Bug ist weiterhin vorhanden. So wie ich die Diskussion unter den Entwicklern verstehe, scheint man sich noch nicht darüber klar zu sein ob er als beseitigt einzustufen ist.

Ich habe mal einen link eingefügt, dort scheint es sich um das gleiche Problem, incl. anscheinend funktionsfähigen Lösungsvorchlägen, zu handeln. Vielleicht hilft es weiter. Es scheint hier auch wieder, wie bei PostgreSQL, das ? eine Rolle zu spielen. Leider kann ich das nicht testen, da mir diese Auswahl hier nicht zur Verfügung steht.

https://stackoverflow.com/questions/480 ... ition-whit

mfg
rasonprof

RobertG
Beiträge: 1906
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RobertG » Mi 8. Aug 2018, 16:34

Hallo rasonprof,

nach dem '?' habe ich unter den Optionen auch geschaut.
Zu Deiner Installation: Vielleicht bringt es etwas, den JDBC-Treiber direkt einzubinden, nicht über den MySQL-Dialog. Da kannst Du dem Treiber Parameter mitgeben. Habe ich im kommenden Handbuch stehen:
Der JDBC-Zugang mit MySQL/MariaDB kann auch direkt über die Auswahl JDBC statt des Untermenüs MySQL → JDBC erfolgen. Dies kann besonders dann sinnvoll sein, wenn dem Treiber Parameter mitgegeben werden sollen.
Ohne Parameter trennt z.B. der JDBC-Treiber wie auch der direkte Treiber zu einer MySQL-Datenquelle im Internet nach recht kurzen Pausenzeiten die Verbindung. Mit der folgenden Einstellung wird dies vermieden:
jdbc:mysql://«Host der Datenbank»:3306/«Datenbankname»?autoReconnect=true
Ob da irgendetwas genauer einstellbar ist kann ich nicht sagen.

Gruß

Robert

rasonprof
Beiträge: 4
Registriert: Sa 7. Jul 2018, 12:36

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von rasonprof » Do 9. Aug 2018, 18:05

Hallo Robert,

wie in meinem ersten Post erwähnt, kann ich MariaDB nicht direkt über JDBC anbinden, da dann kein Beziehungen erstellt werden können. LO sagt mir dann, dass die Erstellung von Beziehungen von dieser Software nicht unterstützt wird. Warum auch immer. Früher gab es dieses Problem bei MySQL, wenn die DB auf MyISAM lief anstatt mit innoDB, da MyISAM kein Relationen unterstützte. Das ist hier aber nicht relevat da der Tabellentyp von MariaDB Beziehungen unterstützt. Seltsamerweise funktioniert es über den Umweg MySQL, JDBC. Normalerweise verwende ich immer die direkte JDBC Anbindung. Hier tritt neben dem Problem mit den Beziehungen, zusätzlich der gleiche Fehler wie in meinem ersten Post beschrieben, auf. Ich habe es gerade getestet.

Es ist vorerst nicht weiter tragisch, die 6.0.6 bzw. auch die 6.0.7. alpha (zum Testen parallel installiert) funktionieren, so dass es für die nahe Zukunft kein Problem darstellt. Da ich zum Testen noch eine 6.2 alpha laufen habe, werde ich hier von Zeit zu Zeit schauen, ob sich etwas ändert. Die 6.1 kann man ja leider nur mit einigen Klimmzügen parallel Installieren. Mir fällt gerade ein, dass ich die 6.1 über ein USB Stick Installation testen kann.

mfg

rasonprof

RonK
Beiträge: 23
Registriert: Fr 23. Dez 2011, 16:58

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RonK » Fr 28. Jun 2019, 15:57

Hallo zusammen!

So habe ich es gelöst:
viewtopic.php?f=10&t=20627
Das funktioniert auch mit LO 6.2, aber eben auch nur mit dem JDBC-Treiber.
(Überhaupt wäre eine Anleitung für die optimalen Einstellungen unter Datenbank -> Erweiterte Einstellung ganz hilfreich.)

Doch unter LO 6.1 konnte ich noch den MySQL (nativ) Treiber als Extension (MySQL SDBC Driver for Apache OpenOffice 1.2.0) verwenden:
https://extensions.openoffice.org/en/pr ... openoffice

Jetzt ist unter 6.2 ist ein MySQL Connector vorinstalliert und die besagte Extenion (MySQL SDBC Driver for Apache OpenOffice 1.2.0) funktioniert nicht mehr. Der eingebaute MySQL Connector erzeugt aber wieder den gleichen hier beschriebenen Fehler und unter Erweiterte Einstellung fehlt die Möglichkeit auf "benannte Parameter durch ? ersetzen".

Schade eigentlich, dass Leben könnte so einfach sein... ;)

Beste Grüße
Ronald

RobertG
Beiträge: 1906
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RobertG » Fr 28. Jun 2019, 20:20

Hallo Ronald,

der mit LO mitgelieferte direkte Treiber funktioniert leider nicht so wie gewünscht. Daten lassen sich mit dem Treiber unter Linux nicht eingeben.

Die genannte Möglichkeit mit den benannten Parametern steht im Handbuch im Kapitel "Datenbank erstellen" → "Nachträgliche Bearbeitung der Verbindungseigenschaften". Da steht auch, wie das mit dem benannten Parameter geändert werden kann, wenn die Möglichkeit über die GUI nicht besteht.

Gruß

Robert

RonK
Beiträge: 23
Registriert: Fr 23. Dez 2011, 16:58

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RonK » Mo 1. Jul 2019, 15:14

Lieber Robert,

danke für Deine Info. Ich habe Deinen Tip mit der content.xml ausprobiert, aber komme zu keinem positiven Ergebnis.
Also funktioniert das LO 6.2 nur mit JDBC. Schade, dass dafür die alte Treiber-Extension ausgenockt wurde, aber vielleicht mit der nächsten Version...

Leider habe ich immer noch das Problem, der extrem langsamen Datensatzsuche. Mit HeidiSQL geht eine solche Suche blitzschnell. Bei LO kann ich quasi "beim Denken zusehen". Stimmt da etwas mit meinen Einstellungen nicht?

Beste Grüße
Ronald

RobertG
Beiträge: 1906
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: MariaDB Anbindung mittelt JDBC. Fehlermeldung bei Base Abfragen seit LO 6.1

Beitrag von RobertG » Mo 1. Jul 2019, 21:22

Hallo Ronald,

wie gestaltest Du die Suche? Wenn Du die eingebauten Suchfunktionen nimmst, dann kann ich das nachvollziehen. Mach' dazu einen neuen Thread auf, damit der Austausch zur Suche auch gelesen wird.

Gruß

Robert

Antworten