IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Problème de mySQL sur la plateforme Android


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Par défaut Problème de mySQL sur la plateforme Android
    Bonjour à tous,

    Depuis quelques jours je galère pour faire fonctionner une petite application développée sous Delphi (10).

    Alors j'ai inséré un FDConnexion1 (TFDConnexion), je l'ai configuré pour qu'il se connecte à un serveur mySQL à distance.
    Le test sur l'interface de Delphi est positif : je veux dire que quand je passe "Connected=True", cela ne génère aucune erreur.

    Alors j'ai voulu exécuter l'application pour voir le résultat sur une tablette ayant Android, mais j'ai l’écran noir quand je laisse "Connected=True" de FDConnexion1.
    J'ai modifié "Connected=False", et j'ai ajouté un Bouton, le clic sur le bouton passe "Connected" de FdConnexion1 à True :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FdConnexion1.Connected := True;
    Après l’exécution de l'application sur Windows, j'ai bien une fenêtre qui s'affiche sur la tablette avec le bouton, mais quand je clique sur le bouton il m'affiche l'erreur suivante:

    [FireDac][Phys][MYSQL]-314 Cannot Load Vendor library [libmysqlclient.so or libmysqld.so]. Hint: check it is in the PATH or application EXE directories, and has x86 bitness.

    Quelqu'un pourrait-il m'aider ? En tout cas mon but c'est de se connecter à partir d'une tablette Android à une base de données mySQL ou firebird (de préférence) à distance.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    la réponse à l'erreur
    [FireDac][Phys][MYSQL]-314 Cannot Load Vendor library [libmysqlclient.so or libmysqld.so]
    est relativement simple : il faut un client mySql sur Androïd, là où cela blesse c'est que je ne suis pas sûr que cela existe ! Quoique ....

    quelqu'un pourra m'aider? en tout cas mon but c'est de se connecter a partir d'une tablette android à une base de données mysql ou firebird(de préférence) a distance.
    pour firebird, la réponse sera un peu différente, je sais que ce client à été porté (je n'ai jamais testé) http://www.firebirdnews.org/firebird...roid-download/ et je serai content d'avoir des retours à ce sujet.
    Ma question suivante, si Firebird 3 fonctionne sur android serait alors : comment héberger la base (serveur virtuel ?) et comment accéder au port (à cause des sécurités des hébergeurs) ? Là je suis totalement novice.

    AMHA La bonne méthode passe plutôt par une application multi-tiers (WebBroker,DataSnap,REST,JSON...) permettant de s'affranchir du client SGBD, plutôt qu'une application client-serveur (cela "tombe bien", avec Delphi Tokyo on a enfin la possibilité de compiler des applications LINUX serveur)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Par défaut
    Bonjour,

    Merci Beaucoup SergioMaster pour votre réponse.

    j'ai essayé de suivre votre suggestion en essayant d'abord avec une base de donnée Firebird, j ai ajouté la librairie libfbclient.so.3.0.0 dans /system/lib de android mais malheureusement sa ne marche pas, l'application plante, j ai même tenté avec le mysql en ajoutant libmysqlclient.so dans /system/lib, pareil, ca ne fonctionne pas. j'ai le message d'erreur précédent(mon poste précédent).

    alors maintenant j'utilise les sockets, je contacte le serveur avec une socket, je récupère le contenu d'une table, puis je la sauvegarde sur Android en sqllite.
    ce n'est pas pratique, mais pour le moment ca résout un peu le problème. En tout cas je cherche toujours une solution pour pouvoir utiliser les requêtes sql directement dans Android pour interroger des bases de données firebird ou mysql.

    je me demande comment font les applications qu'on télécharge, qui se connectent a des bases de données distantes sans ajouter des librairies(.so) dans nos (tel, tablettes) Android

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par kameleon80 Voir le message
    j'ai essayé de suivre votre suggestion en essayant d'abord avec une base de donnée Firebird, j ai ajouté la librairie libfbclient.so.3.0.0 dans /system/lib de android mais malheureusement ça ne marche pas
    peut être n'est ce pas le bon endroit comme je l'ai déjà écrite je n'ai jamais testé
    j'ai même tenté avec le mysql en ajoutant libmysqlclient.so dans /system/lib, pareil, ca ne fonctionne pas. j'ai le message d'erreur précédent(mon poste précédent).
    comme précédemment est-ce le bon endroit ?

    Peut être faut-il indiquer à la connexion (FdConnection) où se trouve la vendorlib << encore une fois tout retour sera bienvenu
    ou mettre la bibliothèque so dans le même endroit que l'application (dans un premier temps, pour un test de la biblio et de la connexion cela me parait pas mal)
    attention aussi au nombre de bits 32 ou 64 ? je n'en sais rien

    toutefois, si j'en réfère à la doc embarcadero http://docwiki.embarcadero.com/RADSt...ases_(FireDAC) Firedac ne propose pas Androïd pour ces deux SGBD, reste alors DBexpress en lieu et place de Firedac mais je suis sceptique



    alors maintenant j'utilise les sockets, je contacte le serveur avec une socket, je récupère le contenu d'une table, puis je la sauvegarde sur Android en sqllite.ce n'est pas pratique, mais pour le moment ca résout un peu le problème. En tout cas je cherche toujours une solution pour pouvoir utiliser les requêtes sql directement dans Android pour interroger des bases de données firebird ou mysql.
    je me demande comment font les applications qu'on télécharge, qui se connectent a des bases de données distantes sans ajouter des librairies(.so) dans nos (tel, tablettes) Android
    parce que ce doit être des programmes multi-tiers, c'est à dire que les programmes n'interrogent pas la BDD directement mais font appel à un programme sur le serveur qui lui fait la requête et renvoi le résultat vers le client. Dans ce cas, pas besoin de librairie cliente.


    une autre solution (payante) utiliser un composant tiers (de TMS Software) remotedb (ça non plus je n'ai pas essayé)

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 33
    Par défaut
    Bonjour,

    d'après les recherches que j'aie fait, Firebird n'est pas compatible avec les plateformes mobiles, sinon pour le MYSQL, j ai utilisé UNIDAC(TUniConnection1) et ça marche très bien, sans avoir besoin d'ajouter des librairies, ca marche aussi avec Interbase, mais ma préférence c'est Firebird, vu qu'il est gratuit contrairement à Interbase.

    Donc je suis toujours à la recherche d'une solution avec Firebird.

    et pour "remoteDB" de tms, je l'essaierai et je vous dirai quoi.

    Merciii

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/05/2016, 23h55
  2. Réponses: 9
    Dernier message: 03/06/2009, 15h36
  3. probleme de syntaxe sur filtrage de sous formulaire
    Par sebinator dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/01/2009, 13h09
  4. Probleme installation Mysql sur Mandriva
    Par VITALTH dans le forum Mandriva / Mageia
    Réponses: 7
    Dernier message: 15/12/2008, 12h23
  5. [Mysql] Connection delphi à une bdd sous easyphp...
    Par pataluc dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/06/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo