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

VB 6 et antérieur Discussion :

[VB6] connexion à mysql distant


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut [VB6] connexion à mysql distant
    Bonjour,

    je souhaite créer une petite appli en vb6 qui me permettrait d'ajouter des enregistrements dans une base de données distante dont j'ai les paramètres de connexion.

    Lorsque je mets les paramètres de connexion comme suit, j'ai l'erreur suivante : "source de données introuvable ou nom de pilote non spécifié."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    strConnect = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=http://-----;DATABASE=a;PORT=3306;UID=b;PASSWORD=c;"
    Set oCon = New Connection
    Call oCon.Open(strConnect)
    La société chez qui nous avons le serveur mutualisé m'a certifié que c'était possible, qu'il avait fait toutes les modifications nécessaires.

    Quelqu'un peut m'aider?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Bonjour,

    tu as déjà essayé avec une base locale ? (le problème vient peut-être d'ailleurs)

  3. #3
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je serais tenté de dire que cette partie :
    DRIVER={MySQL ODBC 3.51 Driver};
    n'est pas correcte.
    Es tu sur de la version de MySql ? (si le 3.51 correspond bien au numéro de version de MySql)
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    Oui, j'ai essayé sur une base locale et je n'ai pas eu de difficultés.

    En ce qui concerne la version de Mysql, j'ai envoyé ma chaine de connexion à la société qui héberge ma base de données et ils m'ont dit qu'elle était correct.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par cedric600
    Je serais tenté de dire que cette partie : n'est pas correcte.
    Es tu sur de la version de MySql ? (si le 3.51 correspond bien au numéro de version de MySql)
    Ce n'est pas la version du serveur, mais du pilote ODBC. Le 3.51 est effectivement la dernière release stable en téléchargement (hors beta)

    As-tu un pare-feu ? Quid du port 3306 ? As-tu essayé sur un autre poste de ton réseau ? Quel est l'utilisateur utilisé ? il existe des restrictions d'accès distantes pour l'administrateur "root" (il ne peut pas se connecter hors localhost par défaut)

    En fin de chaîne de connexion, ajoute également ";OPTION=3" (options courantes pour un accès depuis VB)

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Si la chaine de connexion est correcte je ne vois qu'un problème de connexion réseau. Merci Phifi pour la précision.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    effectivement, il me manquait le bon driver. je viens de l'installer mais le pb reste entier, j'ai la même erreur...

    Arrêtez-moi si je dis une bêtise, mais si je souhaite ne pas utiliser de DSN, je n'ai rien de plus à faire que d'avoir fait l'installation du pilote et dans ma chaîne de connexion de mettre le "numéro de ce driver"?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Tout à fait, soit tu utilises la chaîne de connexion comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "DRIVER={MySQL ODBC 3.51 Driver};SERVER=http://-----;DATABASE=a;PORT=3306;UID=b;PASSWORD=c;OPTION=3"
    soit en passant par le DSN (ce qui t'évites seulement d'avoir ses ID en dur dans l'appli)

    mais ta chaîne paraît bonne.

    Tu as contrôlé les autres paramètres que j'ai évoqué ? le pare-feu, l'utilisateur root ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    Je ne suis pas sûre de bien comprendre tes questions...

    Le pare-feu est désactivé


    Quid du port 3306 ????

    As-tu essayé sur un autre poste de ton réseau ? Non parce que l'appli n'est que sur ma machine de développement pour l'instant.

    Quel est l'utilisateur utilisé ? Un compte ayant des droits d'administrateur du domaine. Je ne sais pas si ça répond à ta question.

    J'ai essayé de créer un DSN pour pouvoir tester les paramètres de connexion directement sur le driver mais il me répond : "Unknown server host"

    D'où cela peut-il venir?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    J'ai mis le driver sur notre serveur puisque c'est celui-ci qui fait le routage vers l'exterieur. C'est bien ce qu'il fallait faire?

  11. #11
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Peut tu essayer de faire une connexion à une base mysql local ?
    peut tu vérifier que le port 3306 n'est pas utilisé par une autre application ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par prodi_64
    Le pare-feu est désactivé
    Même celui de Windows XP ? (si c'est bien ton OS)

    Citation Envoyé par prodi_64
    Quid du port 3306 ????
    C'est le port utilisé par MySQL pour dialoguer, tu ne le verras pas en localhost (sur ta machine) mais un pare-feu le bloquera sans doute par défaut en connexion entrante ou sortante

    Citation Envoyé par prodi_64
    As-tu essayé sur un autre poste de ton réseau ? Non parce que l'appli n'est que sur ma machine de développement pour l'instant.
    Ok

    Citation Envoyé par prodi_64
    Quel est l'utilisateur utilisé ? Un compte ayant des droits d'administrateur du domaine. Je ne sais pas si ça répond à ta question.
    Je parle de l'utilisateur du serveur MySQL (rien à voir avec Windows), c'est à dire UID=... de ta chaîne de connexion. Par défaut à l'installation du serveur MySQL, l'utilisateur est "root", c'est l'administrateur de la base de données.

    Citation Envoyé par prodi_64
    J'ai essayé de créer un DSN pour pouvoir tester les paramètres de connexion directement sur le driver mais il me répond : "Unknown server host"

    D'où cela peut-il venir?
    Il faudra que ça fonctionne avec la chaîne de connexion, le DSN est la même chose gérée par Windows (mémorisation des paramètres de chaîne dans un fichier, base de registre etc.)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    Oui, ça je savais que le DSN faisait la même chose qu'une chaine de connexion. C'était juste pour voir si ça pouvait venir de ma chaîne VB, mais ce n'est pas le cas.

    Alors, a priori le port 3306 n'est pas utilisé, mais on sait pas trop comment on fait pour le vérifer.

    On a une adresse IP fixe serveur. A ce qu'on m'a dit, dans ce cas-là, les requêtes ne passent pas par le pare-feu mais directement par internet, donc pas de nécessité de désactiver le pare-feu. Est-ce exact?

    L'utilisateur de la base de données a été créé par notre hébergeur. Ce compte-là me permet de faire toutes les modifications sur la base, mais effectivement ce n'est pas "root".

    Le pb reste donc entier...

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Essaye en mode de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql -h iP_du_Serveur -u utilisateur -p
    Si tu te connectes correctement, tu devrais avoir une ligne "Enter Password" qui devrait appraître à la suite...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Juin 2004
    Messages : 118
    Points : 48
    Points
    48
    Par défaut
    Ca marche toujours pas!

    Peut etre est-ce dû au fait que je n'ai pas l'adresse ip du serveur bd distant mais que l'URL?

    Il me répond fichier mysql introuvable ou un de ses composants.

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Non, ça devrait marcher, tu as essayé de pinguer ?

    >ping ww...

    Pas la peine de s'escrimer sur ta chaîne de connexion si le minimum requis ne fonctionne pas

  17. #17
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    netstat -a est la commande dos pour déterminer quels sont les ports ouverts et utilisés sur la machine.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2010, 10h54
  2. connexion mysql distant
    Par abdoinfo dans le forum JDBC
    Réponses: 6
    Dernier message: 09/03/2010, 17h08
  3. Connexion à Mysql distant
    Par spamitovic dans le forum VB.NET
    Réponses: 18
    Dernier message: 29/09/2009, 11h43
  4. Connexion mysql distante
    Par thibaut06 dans le forum MySQL
    Réponses: 1
    Dernier message: 31/08/2009, 22h06
  5. Connexion MySQL distant a travers un proxy
    Par mookymook dans le forum Outils
    Réponses: 3
    Dernier message: 05/02/2009, 10h13

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