[Résolu]Connexion à un serveur MariaDB sur un NAS (Qnap)

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
gaelviller
Membre OOrganisé
Membre OOrganisé
Messages : 52
Inscription : 12 mai 2024 15:50

[Résolu]Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par gaelviller »

Bonjour,

Ma demande est dans le titre : je souhaite utiliser LibreOffice comme "frontend" pour me connecter à un serveur de base de données MariaDB sur un NAS (QNAP dans mon cas) qui exploite cette fonctionnalité.
J'espère que ce fil sera dans les clous vis-à-vis des règle du forum.
Ci-dessous, ce que j'ai testé sans y parvenir.

Dans l'association que j'accompagne et qui souhaite avoir une base de données partagée sur son réseau, il y a un NAS QNAP assez récent (avec QTS 5.2.x). J'ai vu qu'il existait une fonction/application qui permettait d'en faire un serveur de base de données MariaDB (v5 ou v10 uniquement, à ce que j'ai vu). Voulant "parier sur l'avenir", je me suis lancé dans la version 10.5.8 que j'ai installée.

Après l'avoir configurée selon ce premier tutoriel (lien externe en anglais)
je suis parvenu à me connecter dessus avec un ordi (hors LibreOffice) en suivant ce deuxième tutoriel (lien externe en anglais).
Ces deux tutoriels sont publiés sur les sites officiels de la marque en lien avec sa documentation et sa FAQ.


LibreOffice intègre des fonctionnalités pour se connecter à un serveur MariaDB : dans l'assistant Base de données, la première étape propose : "Connecter une base de données existante", puis dans le menu déroulant de sélectionner "MySQL/MariaDB".
Dans l'étape 2, plusieurs possibilités sont proposées :
- Connecter en utilisant ODBC (Open Database Conectivity)
- Connecter en utilisant JDBC (Java Database Conectivity)
- Connexion directe (en utilisant le connecteur MariaDB C)

J'ai voulu tester les trois et ai commencé avec la solution proposée par LibreOffice, à savoir la seconde : "Connecter en utilisant JDBC (Java Database Conectivity)", mais j'ai vite rencontré un pb de "classe de pilote JDBC pour MySQL/MariaDB".
J'essaie avec la première possibilité : Connecter en utilisant ODBC (Open Database Conectivity), la connexion ne me semblait pas aisée à prendre en main sans aide/guide/tuto.
Je me me suis donc rabattu sur la troisième : Connexion directe (en utilisant le connecteur MariaDB C)

Il m'est ensuite demandé de fournir les informations de connexion : Nom de la base de données, puis au choix :
- "Serveur/Port", où il faut renseigner : Serveur (l'IP, j'imagine) et Port (3306 pour la v5 ou 3307 pour la v10) ;
- ou alors "Socket"...
J'ai opté pour la configuration Serveur/Port (ne sachant pas comment utiliser l'autre possibilité de Socket).

Ensuite, il faut renseigner le compte à connecter avant d'être relié à la base de données. Avec le nom d'utilisateur et le mot de passe configuré sur le serveur MariaDB.

Et là, je suis complètement bloqué : d'après le second tutoriel (lien plus haut), une fois ce serveur activé, il faut d'abord se connecter au NAS avec les accès utilisateurs du NAS. Cependant, ces données sont différentes des accès au serveur MariaDB configurés grâce au premier tutoriel (lien plus haut). Et il ne m'est donc pas possible de m'y connecter.
Il semble manquer une étape (spécifique au NAS, visiblement) qui empêche d'accéder aux données. Et cela, même si l'accès est lancé au préalable depuis une instance en ligne de commande...

Voilà pour le contexte qui est le mien. J'ai sans doute choisi une mauvaise procédure, je ne sais pas.
J'espère également que vous pourrez m'apporter vos lumières sur cette question, même si vous utilisez une autre marque de NAS, ça peut toujours m'aiguiller.
SOLUTION

Il faut effectivement suivre ce premier tutoriel (lien externe en anglais) et se connecter dessus (hors LibreOffice) en suivant ce deuxième tutoriel (lien externe en anglais).
Ces deux tutoriels sont publiés sur les sites officiels de la marque en lien avec sa documentation et sa FAQ. Ils permettent de mettre en route le serveur MariaDB sur le NAS puis de donner les "pleins pouvoirs" à l'utilisateur root pour gérer le serveur.

Une fois les deux tutoriels scrupuleusement suivis, dans LibreOffice Base, on choisit : "Connecter une base de données existante", puis dans le menu déroulant de on sélectionne "MySQL/MariaDB".
Dans l'étape 2, on choisit parmi les possibilités proposées :
- Connexion directe (en utilisant le connecteur MariaDB C)

Puis on fournit les informations de connexion : Nom de la base de données : test (par défaut sur ce système), puis au choix :
- "Serveur/Port", où il faut renseigner : Serveur (l'IP, j'imagine) et Port (3306 pour la v5 ou 3307 pour la v10) ;
Ensuite, il faut renseigner le compte à connecter avant d'être relié à la base de données. Avec le nom d'utilisateur et le mot de passe configuré sur le serveur MariaDB.

Si l'on souhaite créer une nouvelle base de données (appelée ici : schema), il faut le faire depuis MYSQL Workbench puis lors de la connexion à cette base, indiquer le nom du schema choisi comme Nom de la base de données.
Dernière modification par gaelviller le 19 juin 2024 18:19, modifié 3 fois.
LivreOffice 7.6 sous MaocOS Sonoma (14.4) avec HSQLDB 2.7.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par Dude »

Salut,

Tu ne précises rien du paramétrage fourni et de l'erreur que tu rencontres.
Par défaut, un SGBD n'est accessible qu'en local. Il faut certainement ouvrir le port d'accès.



NB : pour moi, un NAS est un périphérique de sauvegarde et n'a jamais été taillé pour héberger un SGBD.
gaelviller
Membre OOrganisé
Membre OOrganisé
Messages : 52
Inscription : 12 mai 2024 15:50

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par gaelviller »

Mon premier sujet ayant été bloqué, j'ai limité celui-ci à la demande (qui a été modifiée par un modérateur) : "Comment se connecter à un serveur MariaDB sur un NAS (QNAP) ?"

Concernant la tentative, pour paramétrer le "serveur" MariaDB du NAS, je me suis connecté au NAS avec un compte administrateur et ai lancé l'app MariaDB10 qui demande automatiquement de configurer le compte d'utilisateur de la base (root) et son mot de passe (propre au serveur MariaDB), sans oublier le port à ouvrir (3307 pour la v10.x). J'ai suivi le premier tuto indiqué dans mon premier post pour être certain de ce que je faisais.

Ensuite, en local, depuis mon ordinateur, j'ai suivi le deuxième tuto pour me connecter à la base (en v10) et suis parvenu au résultat indiqué dans le tuto :

Code : Tout sélectionner

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 10.5.8-MariaDB-log MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
Après cela, j'ai voulu de comprendre comment m'y connecter via LibreOffice Base.
Avec ODBC, il me faut une "source de données ODBC déjà enregistrée dans LibreOffice" or je n'en ai pas.
Avec JDBC, le pilote proposé par défaut est : com.mysql.jdbc.Driver. Ça ne semble pas être le bon car lorsque je clique sur "Tester la classe", un message d'erreur m'indique : "Impossible de charger le pilote JDBC.", donc je ne peux pas tester cette méthode pour le moment.
Avec connexion directe, j'indique l'adresse IP du NAS et le port 3307 du service MariaDB. Puis j'indique l'utilisateur de la base de donnée "root" et je coche "Mot de passe requis". Enfin, je clique sur Tester la connexion et j'indique le mdp. Mais un message surgit "Can't connect to server on '[adresse IP]' (36)". La description de l'erreur indique :
"Statut SQL : HY000
Code d'erreur : 2002"


Au regard du tuto de connexion (le 2e), j'en suis venu à me dire qu'il fallait injecter au préalable le login et mdp du NAS avant de connecter LibreOffice à la base , et cela de façon sécurisée (vu qu'on doit se connecter en admin du NAS). Donc j'ai tenté de me connecter depuis l'ordi (sans LibreOffice) et une fois l'accès réalisé, j'ai relancé une tentative de connexion avec les accès serveur MariaDB. Mais rien n'y fait. Je pense qu'il faudrait ouvrir un accès en SSH depuis LibreOffice, mais je me fourvoie sans doute ! :oops:

Si je n'ai pas répondu à ta question, peux-tu m'indiquer les éléments que tu attendais ?
Dude a écrit : 13 juin 2024 08:14 NB : pour moi, un NAS est un périphérique de sauvegarde et n'a jamais été taillé pour héberger un SGBD.
Pourquoi cela ? Ta remarque n'est-elle pas surtout valable pour les "petits" NAS ?
LivreOffice 7.6 sous MaocOS Sonoma (14.4) avec HSQLDB 2.7.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par Dude »

gaelviller a écrit : 13 juin 2024 17:07 pour paramétrer le "serveur" MariaDB du NAS
Comme je te l'ai dit dans ton précédent sujet, ici on ne traite que de Base. Si tu as des problèmes sur un SGBD externe, il faut t'adresser à un forum dédié à ce dernier.
gaelviller a écrit : 13 juin 2024 17:07 un message surgit "Can't connect to server on '[adresse IP]' (36)"
Et donc si l'adresse IP est bonne, c'est que
Dude a écrit : 13 juin 2024 08:14 Il faut certainement ouvrir le port d'accès.
Tu peux t'assurer que le port en question est ouvert avec l'utilitaire Netcat.
Saisir par exemple depuis une console MacOS :

Code : Tout sélectionner

>nc -vnzu <adresse> <port>
gaelviller
Membre OOrganisé
Membre OOrganisé
Messages : 52
Inscription : 12 mai 2024 15:50

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par gaelviller »

Dude a écrit : 14 juin 2024 07:01 Si tu as des problèmes sur un SGBD externe, il faut t'adresser à un forum dédié à ce dernier.
Je comprends bien, cependant, j'arrive à me connecter au serveur MariaDB en ssh/ligne de commande.

Ma question porte bien sur Base et je cherche à connître les éléments de connexion à un serveur externe. Lequel d'ODBC ou de JDBC devrait fonctionner ? Et, le cas échéant, quelle Classe de pilote utiliser avec JDBC ? ...

Si tu as un lien à m'indiquer pour que je fouille, je suis preneur !
Dude a écrit : 14 juin 2024 07:01 Tu peux t'assurer que le port en question est ouvert avec l'utilitaire Netcat.
Saisir par exemple depuis une console MacOS :

Code : Tout sélectionner

>nc -vnzu <adresse> <port>
"Connection succeed", donc c'est bon, de ce côté-là. Merci, je suis rassuré ! :super:
LivreOffice 7.6 sous MaocOS Sonoma (14.4) avec HSQLDB 2.7.2
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par Dude »

Si la connexion est bonne, il faut vérifier qu'un 'utilisateur et une instance de base sont bien sûr déclarés côté SGBD.
Le pilote importe peu, les protocoles ODBC ou JDBC sont des surcouches qui peuvent ralentir les transactions. Il faut donc privilégier du natif.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
gaelviller
Membre OOrganisé
Membre OOrganisé
Messages : 52
Inscription : 12 mai 2024 15:50

Re: Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par gaelviller »

Dude a écrit : 15 juin 2024 10:23 Si la connexion est bonne, il faut vérifier qu'un 'utilisateur et une instance de base sont bien sûr déclarés côté SGBD.
Le pilote importe peu, les protocoles ODBC ou JDBC sont des surcouches qui peuvent ralentir les transactions. Il faut donc privilégier du natif.
D'accord. Je te remercie. Je vais creuser de ce côté-là.
LivreOffice 7.6 sous MaocOS Sonoma (14.4) avec HSQLDB 2.7.2
gaelviller
Membre OOrganisé
Membre OOrganisé
Messages : 52
Inscription : 12 mai 2024 15:50

Re: [Résolu]Connexion à un serveur MariaDB sur un NAS (Qnap)

Message par gaelviller »

Ça y est !
Trouvé : il manquait le nom de la base de données qui est "par défaut" 'test'. :marto:
En fait le deuxième tuto donné dans le premier message va donner tous les droits de gestion du serveur à l'utilisateur 'root' pour ensuite pouvoir s'y connecter depuis un frontend (MySQL Workbench, tout d'abord, puis c'est fonctionnel dans LibreOffice également) ! :super:
LivreOffice 7.6 sous MaocOS Sonoma (14.4) avec HSQLDB 2.7.2