connexion mysql

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: thierry.rouillon@laposte.net
Sujet:: connexion mysql
OS:: Linux
Version:: 6.0.x
Question:: Bonjour. Je ne trouve pas de tuto qui permette de connecter mysql sur libreoffice. https://openoffice-libreoffice.developpez.com/tutoriels/openoffice-libreoffice/calc-tableur-mysql/ propose une connexion directe qui n'existe pas chez libreoffice. https://help.libreoffice.org/6.0/fr/text/shared/explorer/database/dabawiz02jdbc.html?&DbPAR=WRITER&System=WIN ne fonctionne pas. Pouvez vous m'aider dans cette démarche. Merci.

Bonjour,

Sujet:: connexion mysql
OS:: Linux
Version:: 6.0.x
Question:: Bonjour. Je ne trouve pas de tuto qui permette de connecter mysql sur libreoffice. https://openoffice-libreoffice.developpez.com/tutoriels/openoffice-libreoffice/calc-tableur-mysql/ propose une connexion directe qui n'existe pas chez libreoffice. https://help.libreoffice.org/6.0/fr/text/shared/explorer/database/dabawiz02jdbc.html?&DbPAR=WRITER&System=WIN ne fonctionne pas. Pouvez vous m'aider dans cette démarche. Merci.

Sous Linux, il faut savoir que MySQL (ou Mariadb) est TOUJOURS installé
dans le système par défaut. Alors, autant s'en servir car c'est un
gestionnaire de base de données stable, puissant et bien documenté. Les tables sont, certes, stockées dans un endroit peu accessible (/var/lib/mysql) et dans un format particulier mais ce
n'est pas gênant car l'export est facile (mysqldump fait cela très bien).

Il n'y a plus qu'à connecter LibreOffice à MySQL, ce qui peut se faire
avec le connecteur JDBC (nécessite Java) ou bien avec le connecteur
"natif" MySQL. J'ai rencontré des instabilités ou limitations avec le connecteur natif, aussi vais-je donner des explications sur la connexion JDBC. Le principe est sommairement expliqué ici :
https://help.libreoffice.org/Common/JDBC_Connection/fr
bien que pas très explicite, je le reconnais.

Il faut avoir java installé dans le système, mais c'est standard sous Linux,
avec le java qui va bien avec le système, pas de discussion oiseuse
entre 32 bits et 64 bits (et d'ailleurs depuis 10 ans Linux fonctionne
nativement en 64 bits).

Il faut aussi avoir le paquet mysql-connector-java d'installé, et dont le descriptif est le suivant :

MySQL Connector/J is a native Java driver that converts JDBC (Java
Database Connectivity) calls into the network protocol used by the
MySQL database. It lets developers working with the Java programming
language easily build programs and applets that interact with MySQL
and connect all corporate data, even in a heterogeneous environment.
MySQL Connector/J is a Type IV JDBC driver and has a complete JDBC
feature set that supports the capabilities of MySQL.

On le trouve ici :
https://dev.mysql.com/downloads/connector/j/5.1.html
Pour Ubuntu ça semble être ici :
https://packages.ubuntu.com/fr/trusty/libs/libmysql-java
mais je n'ai pas essayé (j'utilise OpenSuSE, et le connecteur en question figure dans les paquets installables).

Ensuite, dans LO on déclare l'endroit où le "connecteur JDBC" va se
trouver : voir Outils/Options/Avancé/cliquer sur le bouton Chemin de
classe et donner le chemin d'accès complet pour le fichier
mysql-connector-java.jar. Chez moi c'est :
/usr/share/java/mysql-connector-java.jar
Toujours dans les options de LO on va dans celles de Libreoffice Base /
Connexions, où il faut activer les connexions JDBC et MySQL.

Voila pour les réglages. Maintenant, on veut accéder à une base MySQL
existante ; il faut l'avoir créée d'abord, ça se fait par exemple en
ligne de commande, par exemple :
mysql -u root -e "create database bidon ; grant all on bidon.* to ''@localhost ;"

On va dans le menu Fichier, Nouveau, Base de données.
Choisir Connecter à une base de données existante, puis MySQL, puis
Connecter en utilisant JDBC (surtout pas ODBC).
Donner le nom de la base de données tel qu'il a été choisi précédemment
(attention : sous Linux les majuscules se distinguent des minuscules),
le serveur (localhost si c'est en local) ; la classe de pilote doit
apparaitre (com.mysql.jdbc.Driver) et on peut tester si elle fonctionne.
Et terminer.

Dès lors, LO accède très proprement aux tables, aux vues et
les requêtes fonctionnent bien (et avec la performance de MySQL, qui est bien meilleure que HSQLdb).

Rebonjour,
Un tuto correct ici :
https://www.techrepublic.com/blog/diy-it-guy/diy-connect-libreoffice-base-to-a-mysql-database/

Rebonjour

Merci pour le coup de main. Je l'ai trouvé en français ce tuto mais à
l'étape 2

    Step 2: Set up the connection to MySQL

La connexion directe n'existe pas sur libreoffice. On ne peut pas
continuer.... ( ou alors il me manque un module)

Au contraire de l'auteur du tuto, la connexion directe ne marchait pas
bien chez moi, alors j'ai choisi la connexion via jdbc et ça marche très
très bien.

Un détail : un ami utilisant un mac (OSX) n'a pas du tout aimé jdbc
parce que java sur un mac ça n'est pas très simple ...

En ce qui me concerne justement, l'idée est de pouvoir se passer de Java
qui ne permet pas différents types de connexion à ce que je comprends.

Merci pour le coup de main. Je l'ai trouvé en français ce tuto mais à l'étape 2

    Step 2: Set up the connection to MySQL

La connexion directe n'existe pas sur libreoffice. On ne peut pas continuer.... ( ou alors il me manque un module)

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Merci pour cette belle explication bien claire. Je bute sur un souci de paramétrage. J'ai trouvé le paquet libmysql-java (mint) qui m'a installé

/usr/share/java/mysql-connector-java.jar

Merci. J'ai rebooté à tout hasard. Maintenant je suis entré dans les paramètres de LObase. Je pense que c'est là que je dois me perdre. Je trouve 2 lignes qui parle de JDBC et de MYSQL Je mets les pool à yes puis essaye.
"impossible de charger le pilote JDBC".
Voila pour l'instant.

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Pourquoi ? Java c'est mal ? Du moment que ça marche ... (y compris avec
le "java-like" libre fourni avec Linux)

Bonjour,

Merci pour cette belle explication bien claire. Je bute sur un souci
de paramétrage. J'ai trouvé le paquet libmysql-java (mint) qui m'a
installé

/usr/share/java/mysql-connector-java.jar
Merci. J'ai rebooté à tout hasard. Maintenant je suis entré dans les
paramètres de LObase. Je pense que c'est là que je dois me perdre. Je
trouve 2 lignes qui parle de JDBC et de MYSQL Je mets les pool à yes
puis essaye.
"impossible de charger le pilote JDBC".

As-tu vraiment indiqué le bon chemin de classe comme expliqué :

Ensuite, dans LO on déclare l'endroit où le "connecteur JDBC" va se
trouver : voir Outils/Options/Avancé/cliquer sur le bouton Chemin de
classe et donner le chemin d'accès complet pour le fichier
mysql-connector-java.jar.

??

Bon, là je ne sais pas quoi dire !

Ben pourrais tu me donner tes paramètres afin que je cherche de mon côté ce qui ne va pas . Il n'y a pas de raison que ça fonctionne chez toi et pas chez moi.

Merci.

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Bonjour,

Merci pour cette belle explication bien claire. Je bute sur un souci de paramétrage. J'ai trouvé le paquet libmysql-java (mint) qui m'a installé

/usr/share/java/mysql-connector-java.jar
Merci. J'ai rebooté à tout hasard. Maintenant je suis entré dans les paramètres de LObase. Je pense que c'est là que je dois me perdre. Je trouve 2 lignes qui parle de JDBC et de MYSQL Je mets les pool à yes puis essaye.
"impossible de charger le pilote JDBC".

As-tu vraiment indiqué le bon chemin de classe comme expliqué :

Ensuite, dans LO on déclare l'endroit où le "connecteur JDBC" va se trouver : voir Outils/Options/Avancé/cliquer sur le bouton Chemin de classe et donner le chemin d'accès complet pour le fichier mysql-connector-java.jar.

??

Le fichier semble bien placé.

Bonjour,

Ben pourrais tu me donner tes paramètres afin que je cherche de mon
côté ce qui ne va pas . Il n'y a pas de raison que ça fonctionne chez
toi et pas chez moi.

Eh bien je suis allé voir la config. Dans
~/.config/libreoffice/4/user/config/javasettings_Linux_X86_64.xml
je trouve l'instruction
<userClassPath
xsi:nil="false">/usr/share/java/mysql-connector-java.jar</userClassPath>

En va-t-il de même chez toi ?
Bob

Super !

Maintenant quand je teste j'ai le message: "Chargement du pilote réussi."

J'ai poursuivi et ça fonctionne parfaitement.

MErci Bob. On a mis les mains dans le cambouis mais le but est atteint.

Bonne soirée.

Comme quoi :
1) ne pas hésiter à ouvrir les fichiers du profil - si on fait une
bêtise il suffit d'effacer le profil, un nouveau tout propre sera créé
au lancement suivant.
2) l'entraide c'est ça qui fait avancer la communauté
Bob

Merci Bob de ton aide. Mon fichier n'est pas identique.

<userClassPath xsi:nil="false">/usr/share/java/</userClassPath>

Ce qui veut dire qu'il n'a pas trouvé la class.

Ça m'a été confirmé lors de la tentative de connexion.

Pour essais je rajoute le nom du fichier pour être comme toi.

Maintenant quand je teste j'ai le message: "Chargement du pilote réussi."

J'ai poursuivi et ça fonctionne parfaitement.

MErci Bob. On a mis les mains dans le cambouis mais le but est atteint.

Bonne soirée.

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Je ne vais pas dépanner le logiciel et essayer de comprendre pourquoi la connexion ne s'est pas réalisée, car il reste des mystères de ce côté. mais j'ai bien noté ce raccourci "cambouis". Je peux maintenant découvrir bien de nouvelles fonctions.  Je suis super Happy. Et bon courage à tous ceux qui travaillent sur ce merveilleux logiciel.

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Je ne vais pas dépanner le logiciel et essayer de comprendre pourquoi la
connexion ne s'est pas réalisée, car il reste des mystères de ce côté.
mais j'ai bien noté ce raccourci "cambouis". Je peux maintenant
découvrir bien de nouvelles fonctions.  Je suis super Happy. Et bon
courage à tous ceux qui travaillent sur ce merveilleux logiciel.

en fait la solution était :
outils - options - avancés - chemin de classe - ajouter une archive
C'était écrit en clair dans l'aide mais je ne l'avais pas vu et c'est
sur la liste QA qu'on m'a donné la solution

*Thierry Rouillon *
Chalons en Champagne
tel: 06 08 05 99 74

Super !

Maintenant quand je teste j'ai le message: "Chargement du pilote
réussi."

J'ai poursuivi et ça fonctionne parfaitement.

MErci Bob. On a mis les mains dans le cambouis mais le but est atteint.

Bonne soirée.

Comme quoi :
1) ne pas hésiter à ouvrir les fichiers du profil - si on fait une
bêtise il suffit d'effacer le profil, un nouveau tout propre sera créé
au lancement suivant.
2) l'entraide c'est ça qui fait avancer la communauté
Bob

Gérard