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 :

Connexion distante à une base de données mysql avec Delphi 2007


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut Connexion distante à une base de données mysql avec Delphi 2007
    Hello

    A nouveau job, nouvelles galères ^^ Bizutage inside...

    Je dois trouver le moyen de connecter une mini appli Delphi (à des fins de simples lectures pour l'instant) à une base Mysql distante.

    J'ai placé une petite TSQLConnection pour tenter de tester ma ... connexion. (désolée pour la redondance)

    L'IP du serveur est bonne, mes login/pass, noms de base aussi, mais ... résultat néant.

    Can't connect to Mysql Server on - IP du serveur - (10060)
    Je précise que l'hébergement concerné est en serveur dédié, et donc j'ai modifié en conséquence la configuration de mysql pour qu'il accepte les connexion entrantes externes.

    Les pistes en cours d'exploration :

    1) Il manque quelque chose ou quelque chose bloque sur le serveur ( d'autres applications hors Delphi accèdent à la même base sans soucis)

    2) Ma SqlConnection part en sortie sur un port bloqué par le firewall d'entreprise ? (Dans ce cas je suis très mal barrée ...)

    3) Il y a trop longtemps que je n'ai pas pratiqué delphi et suis incapable de paramétrer correctement une SQLConnection.

    Un ptit coup de main ?

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Windows Sockets Error Codes

    WSAETIMEDOUT
    10060

    Connection timed out.

    A connection attempt failed because the connected party did not properly respond after a period of time, or the established connection failed because the connected host has failed to respond.
    Si tu as déjà vérifier sur ton Serveur MySQL que ton IP publiques fait parti des hôtes autorisé par ce login, tu l'as fait je suppose avec MySQL Administrator (inclu dans les GUI Tools) ou MySQL Workbench ?

    Dans My.ini, tu a du déjà enlevé la limite bind-address=127.0.0.1 puisque "d'autres applications hors Delphi accèdent à la même base sans soucis"

    Le Port est le bon ? 3306 par défaut, il n'a pas été changé pour faire cohabituer plusieurs MySQL sur un même serveur ?

    Je suppose que le client MySQL est une version 5.1, as-tu essayé via l'Explorateur SQL (utilise BDE), ou par ADO ?
    En même temps, TSQLConnection ce n'est pas le plus intuitif en paramétrage
    !

    Pense que tu peux aussi utiliser LibMySQL.dll directement sans une couche DB Delphi !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Bonjour

    Merci pour la réponse et le temps consacré

    Pour controler l'accessibilité, j'ai suivi un tuto ...

    - pour l'étape supprimer la limite bind-adress c'est oui,
    - le port aussi, j'ai encore vérifié ce matin

    Pense que tu peux aussi utiliser LibMySQL.dll directement sans une couche DB Delphi !
    *Newbie mode* Ai-je dis que ça faisait TRES longtemps que j'avais pas pratiqué le Pascal/Delphi ?

    Je vais vérifier pour les IP, et creuser cette piste de "sans couche DB Delphi" parce que jusque là, on m'a demandé d'utiliser une TSQLConnection et des composants "maison" qui fonctionnent avec donc j'avais pas - c'est un tort - cherché plus loin.

    Merci encore, je viendrais compléter le sujet avec mes cheminements - et surement d'autres questions .

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Me revoilà

    J'ai fait un peu de spéléo dans les profondeurs de Virtualmin ( la seule interface dont je dispose, que je découvre au fur et à mesure de mes recherches ) et j'ai fini par trouver le tableau des Users permissions de Mysql. Effectivement, l'utilisateur donné n'avait que le "localhost" en hôte autorisé. J'ai donc (pour test) mis en "tout hote autorisé", tout en ne laissant que le select comme permission puisque pour l'instant, je ne veux que lire.

    Sauf que j'ai toujours mon timeout en test de connexion ...

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    J'ignore si tu en DBExpress et le TSQLConnection
    si tu as accès à MYSQL_OPT_CONNECT_TIMEOUT

    Voir dans Params qui est existe comme options !

    En ADO, tu as la possibilité de modifier le CommandTimeout

    Personnellement, pour MySQL, j'ai utilisé pendant presque 5 les composants Devart CoreLab MyDAC en version 3.55 (Svr 4.1) puis 5.70 (Svr 5.1), ils fournissent justement CommandTimeout et ConnectionTimeout !
    Ce n'est pas un hasard !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Ah la boulette ...

    Intriguée par ces histoires de "les autres applications y accèdent", j'ai fait de mon domicile un petit code php pour essayer d'y accéder, et là o surprise "Time Out".
    Les fameuses autres applis , récupèrent le résultat d'une pages php stockée sur le serveur ...
    Donc mon sujet n'a plus lieu d'être car, dans ce cas, je ne suis plus dans la bonne section.

    Désolée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion d'une base de données MySQL avec une application Android
    Par eloumghari.imane dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 06/01/2014, 09h53
  2. connexion impossible à une base de donnée mysql distante
    Par jihane1 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 09/04/2008, 12h37
  3. Réponses: 3
    Dernier message: 19/09/2006, 15h36
  4. Peut on lier une base de donnée Mysql avec MS Project
    Par casper24 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 06/04/2006, 22h21
  5. connexion a une base de donné mysql
    Par ithery75 dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2005, 20h57

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