Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
libreoffice_mysql [Le 14/06/2022, 14:45] arverne73 Ajout sur les connexions |
libreoffice_mysql [Le 14/01/2025, 15:25] (Version actuelle) arverne73 orthographe |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>SGBD bureautique}} | + | {{tag>Noble Jammy Focal SGBD bureautique}} |
---- | ---- | ||
Ligne 18: | Ligne 18: | ||
Vous pouvez vous connectez avec Base de trois manières: | Vous pouvez vous connectez avec Base de trois manières: | ||
* [[#Directement]] | * [[#Directement]] | ||
- | * [[#Avec l'extension libreoffice-mysql-connector|Avec une extension pour libreoffice]] | + | * [[#Avec l'extension libreoffice-mysql-connector|Avec une extension pour libreoffice]] (ancienne méthode) |
* [[#Avec le pilote JDBC]] | * [[#Avec le pilote JDBC]] | ||
* [[#Avec le pilote ODBC]] | * [[#Avec le pilote ODBC]] | ||
Ligne 26: | Ligne 26: | ||
A la création du fichier Base, il faut successivement : | A la création du fichier Base, il faut successivement : | ||
- | - Choisir la 3e option "Connecter un base de données existante" et sélectionner "MySQL" | + | - Choisir la 3e option "Connecter un base de données existante" et sélectionner "MySQL" ou "MySQL/MariaDB" |
- | - A l'écran suivant, sélectionner "Connecter directement" | + | - A l'écran suivant, sélectionner "Connexion directe (connecteur MariaDB C)" |
- Compléter l'écran suivant. Si la base MySQL est installée sur le même poste, le serveur est "localhost", sinon l'adresse IP du poste serveur. Le port est 3306 | - Compléter l'écran suivant. Si la base MySQL est installée sur le même poste, le serveur est "localhost", sinon l'adresse IP du poste serveur. Le port est 3306 | ||
- Compléter les 2 écrans suivants non spécifiques | - Compléter les 2 écrans suivants non spécifiques | ||
- | Ce type de connexion connaît des bugs entraînant un gel de LibreOffice ou une fermeture brutale, surtout avec le code Basic. D'après les utilisateurs des forums, la connexion directe est plus fiable avec OpenOffice. En cas de difficulté, changer la connexion pour MySQL JDBC qui est plus lente (voir ci-dessous). | + | <note important>Ce type de connexion connaît des bugs entraînant un gel de LibreOffice ou une fermeture brutale, surtout avec le code Basic. Un message du [[https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1972820 |forum Bugzilla (voir#16)]] indique clairement que ce connecteur n'est pas adapté à MySQL mais prévu pour MariaDB. D'après les utilisateurs d'autres forums, la connexion directe est plus fiable avec OpenOffice. En cas de difficulté, changer la connexion pour MySQL JDBC qui est un peu plus lente mais fiable(voir ci-dessous 4.2).</note> |
Il n'est pas simple non plus de remplacer une connexion d'un autre type pour utiliser celle-là : nécessité de créer une nouvelle base et réintégrer les différents éléments (formulaires, requêtes, rapports, code). | Il n'est pas simple non plus de remplacer une connexion d'un autre type pour utiliser celle-là : nécessité de créer une nouvelle base et réintégrer les différents éléments (formulaires, requêtes, rapports, code). | ||
=====Avec l'extension libreoffice-mysql-connector===== | =====Avec l'extension libreoffice-mysql-connector===== | ||
+ | <note important>Cette extension n'est plus disponible depuis la version Noble !</note> | ||
+ | |||
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>libreoffice-mysql-connector]]** qui est une extension de connexion MariaDB/MySQL pour LibreOffice. | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>libreoffice-mysql-connector]]** qui est une extension de connexion MariaDB/MySQL pour LibreOffice. | ||
Si vous avez des problèmes avec ce pilote sous Ubuntu 16.04 voir [[https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1577316|ici]]. Comme indiqué en ce lieu le JDBC fonctionne. | Si vous avez des problèmes avec ce pilote sous Ubuntu 16.04 voir [[https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1577316|ici]]. Comme indiqué en ce lieu le JDBC fonctionne. | ||
Ligne 43: | Ligne 45: | ||
===== Avec un pilote JDBC ===== | ===== Avec un pilote JDBC ===== | ||
==== Avec un paquet ==== | ==== Avec un paquet ==== | ||
+ | <note important>Cette solution n'est plus disponible dans les versions actuellement supportées. Voir la 2e solution.</note> | ||
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>libha-jdbc-java]]**. | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>libha-jdbc-java]]**. | ||
Dans Libreoffice, avant de pouvoir utiliser un pilote JDBC, vous devez ajouter son chemin de classe. Choisissez //Outils -> Options -> LibreOffice -> Avancé//, et cliquez sur le bouton Chemin de classe. Naviguez jusqu'à l'archive qui se trouve dans ///usr/share/java/mysql-connector-java-5.1.28.jar//. Après avoir ajouté les informations de chemin, redémarrez LibreOffice. | Dans Libreoffice, avant de pouvoir utiliser un pilote JDBC, vous devez ajouter son chemin de classe. Choisissez //Outils -> Options -> LibreOffice -> Avancé//, et cliquez sur le bouton Chemin de classe. Naviguez jusqu'à l'archive qui se trouve dans ///usr/share/java/mysql-connector-java-5.1.28.jar//. Après avoir ajouté les informations de chemin, redémarrez LibreOffice. | ||
Ligne 54: | Ligne 57: | ||
==== En utilisant le pilote JDBC inclus ==== | ==== En utilisant le pilote JDBC inclus ==== | ||
- | A la création de la base, au 2e écran, choisir « Connecter en utilisant JDBC (Java Database Connectivity) ». | + | A la création d'un fichier LO Base, au 2e écran, choisir « Connecter en utilisant JDBC (Java Database Connectivity) ». |
- | Pour une base existante, aller au menu //Édition -> Base de données -> Type de connexion//. Dans la liste déroulante « Type de base de données », choisissez « MySQL(JDBC) ». | + | Pour un fichier Base existant, aller au menu //Édition -> Base de données -> Type de connexion//. Dans la liste déroulante « Type de base de données », choisissez « MySQL(JDBC) ». |
- | A l'écran suivant, pour « Classe de pilote JDBC MySQL », indiquer : ''com.mysql.jdbc.Driver'' | + | A l'écran suivant, pour « Classe de pilote JDBC MySQL », indiquer : ''com.mysql.cj.jdbc.Driver'' |
- | Remplir les autres informations quant à l'adresse du serveur, le nom de la base de données et de l'utilisateur. | + | Remplir les autres informations quant à l'adresse du serveur, le nom de la base de données et de l'utilisateur (si la base MySQL est installée sur le même poste, le serveur est "localhost", sinon l'adresse IP du poste serveur. Le port est 3306). |
- | Enfin, on peut cliquer sur le bouton « Tester la classe » pour vérifier que la connexion marche (à condition que la procédure suivante ait été réalisée). | + | Enfin, on peut cliquer sur le bouton « Tester la classe » pour vérifier que la connexion marche (à condition que les paragraphes suivants aient été réalisés). |
- | Pour que la connexion fonctionne, comme décrit au-dessus, il faut encore ajouter un Chemin de classe dans les paramètres Java de LibreOffice. | + | En effet, pour que la connexion fonctionne il faut encore ajouter un Chemin de classe dans les paramètres Java de LibreOffice //Outils -> Options -> LibreOffice -> Avancé// puis cliquez sur le bouton « Chemin de classe ». |
- | Pour cela, télécharger le connecteur sur le [[https://dev.mysql.com/downloads/connector/j/|site de MySQL]]. Il s'agit d'une archive au format .deb ; elle ne va pas être utilisée telle quelle. Il faut l'ouvrir avec un gestionnaire d'archives et naviguer vers /data.tar.zst/./usr/share/java/ pour trouver le fichier //mysql-connector-java-8.0.29.jar//. C'est ce fichier qu'il faut extraire et enregistrer sur votre ordinateur avant d'en indiquer le Chemin de classe dans les options de LibreOffice, rubrique « Avancé ». | + | |
+ | Auparavant, télécharger le connecteur sur le [[https://dev.mysql.com/downloads/connector/j/|site de MySQL]]. Il s'agit d'une archive au format .deb ; elle ne va pas être utilisée telle quelle. Il faut l'ouvrir avec un gestionnaire d'archives (comme File Roller) et naviguer vers /usr/share/java/ (chemin constaté pour la version 9.1.0 en janvier 2025) pour trouver le fichier //mysql-connector-j-x.x.x.jar//. C'est ce fichier qu'il faut extraire et enregistrer sur votre ordinateur puis indiquer son emplacement dans la boite de dialogue « Chemin de classe ». | ||
===== Avec un pilote ODBC ===== | ===== Avec un pilote ODBC ===== | ||
Ligne 79: | Ligne 83: | ||
name: Mysql | name: Mysql | ||
description: Mysql driver | description: Mysql driver | ||
- | driver: | + | driver: |
ou en 64 bits: /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so | ou en 64 bits: /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so | ||
setup: /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so | setup: /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so | ||
Ligne 100: | Ligne 104: | ||
===== Connection à la base de donnée===== | ===== Connection à la base de donnée===== | ||
- | Dans LibreOffice : | + | Dans LibreOffice, utiliser les étapes ci-dessus. |
- | * Onglet //Fichier -> Nouveau -> Base de données//, | + | |
- | * Cochez la case //Se connecter à une base de données existante//, puis sélectionnez //Mysql// dans la liste au-dessous, | + | * Dans le cas d'une connexion directe et JDBC remplissez aussi les champs : |
- | * Cliquez sur le bouton //Suivant//, | + | |
- | * Si vous avez installé: | + | |
- | * L'extension, choisissez //Connecter directement//, | + | |
- | * Si vous avez activé le pilote ODBC choisissez //Connection utilisant ODBC//, | + | |
- | * Si vous avez activé le pilote JDBC choisissez //Connection utilisant JDBC//, | + | |
- | * Cliquez sur le bouton //Suivant// | + | |
- | * Dans le cas d'une connexion directe et JDBC remplissez les champs comme suit: | + | |
* //Nom de la base de données//, entrez //le nom de votre base de donnée//; | * //Nom de la base de données//, entrez //le nom de votre base de donnée//; | ||
- | * "Serveur", entrez //localhost//, si la base se trouve sur votre pc, ou l'adresse IP d'un autre serveur, | + | * "Serveur", entrez //localhost//, si la base se trouve sur votre pc, ou l'adresse IP d'un autre serveur, port 3306 |
* Cliquez sur le bouton //Suivant//, | * Cliquez sur le bouton //Suivant//, | ||
* Tapez le nom d'utilisateur que vous utilisez pour accéder à votre base, et suivant la configuration de votre serveur MySQL, cochez ou non //Password required//, | * Tapez le nom d'utilisateur que vous utilisez pour accéder à votre base, et suivant la configuration de votre serveur MySQL, cochez ou non //Password required//, | ||
Ligne 118: | Ligne 115: | ||
Il faut bien-sûr que l'utilisateur existe dans la configuration de [[mysql|MySQL]] (ou utilisez [[phpmyadmin|phpMyAdmin]]). Si l'accès se fait à partir d'un autre poste, il faut là aussi créer un utilisateur spécifique avec les privilèges adéquats et configurer MySQL pour un droit d'accès de l'extérieur (voir sur la page [[mysql#connexions_entrantes|MySQL]]). | Il faut bien-sûr que l'utilisateur existe dans la configuration de [[mysql|MySQL]] (ou utilisez [[phpmyadmin|phpMyAdmin]]). Si l'accès se fait à partir d'un autre poste, il faut là aussi créer un utilisateur spécifique avec les privilèges adéquats et configurer MySQL pour un droit d'accès de l'extérieur (voir sur la page [[mysql#connexions_entrantes|MySQL]]). | ||
- | Ça y est, vous avez maintenant accès à votre base MySQL sous LibreOffice. | + | Ça y est, vous avez maintenant accès à votre base MySQL sous LibreOffice. |
===== Notes ===== | ===== Notes ===== | ||
Ligne 127: | Ligne 124: | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
* Page principale de [[:LibreOffice]] | * Page principale de [[:LibreOffice]] | ||
+ | * La page de création d'une base de données dans la [[https://books.libreoffice.org/en/BG73/BG7302-CreatingADatabase.html#toc9 |documentation de LO 7.3 (en)]] qui reprend toutes les connexions. | ||
+ | * Le [[https://wiki.documentfoundation.org/images/4/43/GuideBase64.pdf |guide 6.4 en français]] avec les mêmes informations à la page 70. | ||
---- | ---- | ||
//Contributeurs : [[:utilisateurs:Yeffries]], [[:utilisateurs:l_africain|L'Africain]], [[:utilisateurs:Poupoul2]]// | //Contributeurs : [[:utilisateurs:Yeffries]], [[:utilisateurs:l_africain|L'Africain]], [[:utilisateurs:Poupoul2]]// |