Seite 1 von 1
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 08:10
von gogo
Hallo Theophilus,
1. hast Du für die JDBC-Connection das richtige Schema angegeben?
2. Welche Fehlermeldung bekommst Du, wenn Du (z.B. unter Extras/SQL bzw. im Abfrage-Editor (hier aber mit der "SQL-direkt"-Option)) Folgendes eingibst:
"Select 1"
bzw:
"Select * from Datenbank.Tabelle"
3.
...habe den JDBC-Connector heruntergeladen ...
von der Oracle-Seite?
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 09:01
von gogo
riecht nach Bug, oder?
ja, aber versuch' mal den JDBC von der Oracle-Seite.
Irgendwo hin kopieren, dann in LO wenn's ein .jar ist unter Optionen/erweitert/Class-Pfad ein Archiv hinzufügen, bzw. wenn er entpackt wurde hier einen "Ordner hinzufügen". Ich habe eine MariaDB<>LO4.x Verbindung die so gut funktioniert.
evt. musst du den Class-Pfad zum Maria-JDBC löschen, damit Du sicher weist welcher Treiber verwendet wird.
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 09:04
von gogo
...Wenn ich Base schließe und wieder öffne...
vor allem wenn sich Tabellen ändern: immer LO zur Gänze schliessen und neu starten (Schnellstarter etc.). Verbindungen zu Datenbanken werden von LO oft gehalten, auch wenn Base geschlossen ist!
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 10:58
von gogo
...verknüpfte Unterformulare...
Stell' am besten bei allen Formularen und Unterformularen als Datenquelle einen SQL-String rein - hat sich seit Jahren bewährt!
Code: Alles auswählen
Art des Inhaltes: SQL-Befehl
Inhalt: Select * from TabelleXYZ
SQL-Befehl analysieren: ja
("SQL-Befehl analysieren: nein" bedeutet, dass die Bearbeitung automatisch gesperrt ist, allerdings kann man damit auf den vollen Funktionsumfang der MySQL zugreifen, inkl. am Server gespeicherter Funktionen, speziellen Views etc.)
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 11:40
von gogo
Erstell' mal testweise ein neues Formular mit Unterformular und stell' da von Anfang an "SQL-Befehl" ein, dann sollten die Verknüpfungen passen.
In Deinen "alten" Formularen müsstest Du evtl. nach dem Verändern der Datenquelle die Verknüpfungen von Formular<>UnterFormular, sowie die "Datenherkunft" Deiner Kontrollelemente noch mal neu anklicken. Vielleicht gibt's auch ein Problem mit der Groß/Kleinschreibung falls am MySQL-Server die Groß/Kleinschreibung nicht Linux-Kompatibel eingestellt ist!
Das Parsen der SQLs zwischen Base und MySQL ist offensichtlich eine eigene Wissenschaft - bis vor ca. 1/2 Jahr hat z.B. die Übergabe eines Datums-Strings aus dem (Formular-) Filter nicht korrekt funktioniert - jetzt geht's. Ein in "#" eingeschlossener String bringt das richtige Filterresultat...
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 15:01
von gogo
Ein Formular mit Unterformular erstellt vom Assistenten = Fehlermeldung
Im Navigator Datenherkunft auf Select * from tbl_... eingestellt = Fehlermeldung

öha - da ist dann noch mehr Schrott vorhanden --- was passiert wenn Du "Select * from tbl_..." unter Extras/SQL versuchst?
Deinen Code-Schnippsel verstehe ich nicht - wo und wie kommt der zum Einsatz?
Am MySQL-Server in der /etc/mysql/my.cnf - aber das Schnipsel ist eh unbrauchbar - hab's gelöscht
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Fr 29. Apr 2016, 18:19
von RobertG
Hallo *,
ich habe hier unter OpenSUSE 42.1 Leap die MariaDB sowohl unter der direkten Verbindung als auch unter JDBC (mit dem mysql-connector 5.1.33 von MySQL) laufen. Ich sehe bei beiden die Tabellen. Aber Achtung: Die Schreibweise in JDBC bei Abfragen für Felder und Tabellen wird anders maskiert. Das sieht dort z.B. so aus:
SELECT `ID`, `Lieferant` FROM `haushalt`.`lieferant` AS `lieferant` WHERE `Lieferant` = :lief
Auch Formulare mit Unterformularen laufen.
Gruß
Robert
Re: MariaDB mit JDBC an Base verbinden
Verfasst: Sa 30. Apr 2016, 08:46
von RobertG
Hallo Theophilus,
Theophilus hat geschrieben:@Robert: das ist ein guter Tipp mit der unterschiedlichen Maskierung. Was aber meinst du mit "direkter Verbindung"?
Du kannst die MariaDB über drei verschiedene Verbindungsarten einrichten. Die Extentsion gibt es hier:
http://extensions.libreoffice.org/exten ... -connector - funktioniert auch unter LO 5.1.

- Datenbank_Assistent_MySQL_Schritt2.png (39.23 KiB) 2496 mal betrachtet
Ich habe allerdings nur einmal etwas intensiver an einer Datenbank gearbeitet, die mit einer MariaDB-Verbindung arbeiten soll. Aus irgendeinem Grund bin ich damals zur JDBC-Verbindung gekommen, statt die direkte Verbindung zu nutzen. ODBC war ist mir zur Erstellung einer Anbindung zu umständlich, so dass ich die Verbindung direkt außen vorgelassen habe.
Gruß
Robert