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 :

Dbexpress mysql : mot de passe incorrect


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Dbexpress mysql : mot de passe incorrect
    Salut,

    Je vous explique briévement la situation.
    J’essai de me connecter à une base MySql via dbexpress.
    Pour cela, j’ai installé EasyPHP. J’ai double cliqué sur icône ‘e’ qui se trouve dans la barre de tache afin de vérifier que Apache et MySql sont démarrés. Je n’ai pas fais d’autre manipulation en ce qui concerne MySql.

    Dans delphi, J’ai affecté à mon composant T SQLConnection les propriétés suivantes :
    with SQLConnection do
    begin
    LoginPrompt := false;
    DriverName := 'MySQL';
    GetDriverFunc := 'getSQLDriverMYSQL';
    LibraryName := 'dbexpmysql.dll';
    VendorLib := 'libmysql.dll';

    Params.Clear;
    Params.Values['BlobSize'] := '-1';
    Params.Values['Database'] := '\mysql';
    Params.Values['HostName'] := 'C:\EasyPHP\mysql\data';
    Params.Values['User_Name='] := 'root';
    Params.Values['Password='] := '';
    Connected := true;
    end;
    Au moment de la connection, j’ai le message d’erreur suivant :
    Erreur dbexpress : nom d’utilisateur/mot de passe incorrect.

    J’ai créé un nouvel utilisateur dans phpMyAdmin, mais j’ai le même message d’erreur.
    J’ai remarqué également qu’avec une valeur quelconque à la propriété « Params.Values['Database'] » on obtient le même message d’erreur.

    Je me demande si il ne faut pas rendre active la base au sein du serveur MySql, mais comment faire !!!

    Si quelqu’un à une idée ?

    Windows XP professionnel
    Delphi 7
    EasyPHP 1.6

  2. #2
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    611
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 611
    Points : 2 080
    Points
    2 080
    Par défaut Re: Dbexpress mysql : mot de passe incorrect
    Citation Envoyé par nicang
    Params.Values['Database'] := '\mysql';
    Params.Values['HostName'] := 'C:\EasyPHP\mysql\data';
    Pour moi ces 2 paramètre n'ont aucun sens.

    Il faut préciser préciser une adresse/nom de serveur et un nom de base pas un chemin.

    Le param HostName doit donc être le nom de ta machine serveur ou son adresse ip. Si tu est en local, tu peut faire :

    Params.Values['HostName'] := 'localhost';

    sinon un truc du style
    Params.Values['HostName'] := 'nom_de_ma_machine';
    ou
    Params.Values['HostName'] := '192.168.1.10';


    Pour ce qui est de database. Si c'est à la base de donnée système 'mysql' que tu veux accéder fait :

    Params.Values['Database'] := 'mysql';

    sans le \.
    Sinon tu met le nom de ta base de données. Mais juste son nom. rien qui ressemble à un chemin.

    Enfin, si tu ne met pas de mot de passe à root, le serveur te refusera un certain nombre d'actions (pour des raisons de sécurité).

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci vanquish,

    Tu as raison.
    Pour une base Distante, il faut ecrire :
    Params.Values['HostName'] := '192.168.1.10';
    Params.Values['Database'] := 'mysql';
    Params.Values['User_Name'] := 'root';
    Params.Values['Password'] := '';

    Et en local, il faut ecrire :
    Params.Values['HostName'] := 'localhost';
    Params.Values['Database'] := 'mysql';
    Params.Values['User_Name'] := 'root';
    Params.Values['Password'] := '';

    J’ai suivi de trop prés le tutoriel Création et connexion d’une base MySQL à l’aide de DBExpress.

    Rq : Si tu poses ton composant et que tu cliques sur les … de la propriété Params
    Tu renseignes de la façon suivante :
    HostName=localhost
    Database=mysql

    Tu double cliques ensuite sur Connected = True ;
    Là on se connecte.
    Tu double cliques à nouveau sur Connected = False , encore sur Connected = True .
    Là on a « Erreur dbexpress : nom d’utilisateur/mot de passe incorrect. »
    Tu cliques sur les … de la propriété Params
    Et delphi à modifier les valeurs :
    HostName=C:\EasyPHP\mysql\data\
    Database=\mysql

  4. #4
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    611
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 611
    Points : 2 080
    Points
    2 080
    Par défaut
    Je n'utilise plus dbExpress.
    L'approche me plaisais plutôt bien (l'aspect léger du truc), mais c'est définitivement pas au point.
    Par exemple, pour récupérer le LAST_INSERT_ID(), il faut faire des pieds et des mains parce que Delphi clone les connexions.

    Je suis passé à zeos 55. Le défaut est que cela m'oblige à avoir un client version 3 (libmysql.dll) alors que mon serveur est en version 4.

    J'enviseage de passer à la version 6.
    C'est radicalement différent comme construction par rapport à la version 5. Comme je suis en production, je me tate un peu avant d'utiliser cette version un peu jeune.
    Mais Zeoslib, c'est la puissance du BDE avec la légerté de dbExpress (c'est même encore plus léger, car il n'y a pas la couche 'dbexpmysql.dll').

    (cf : www.zeoslib.net)

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci du conseil.

    Je vais aller y faire un tour.


    A+
    Nicolas

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Tout d'abord bonjour,

    J'ai le même problème (bad login/password), mais de mon côté les params sont justes. Je ne vois donc pas comment faire pour ne serait-ce qu'établir une connection avec mon serveur (qui tourne actuellement en local).

    Mon serveur est en 4.0.18 (version max-nt) et la version du client est la 3.23.47 (DBExpress ne trouvait pas la 4.0.18...), je bosse sous Delphi 7.

    Par contre, avec le petit programme mysql_test, aucun problème, le serveur est trouvé, je peux me logger sans aucun souci.

    Quelqu'un a-t-il une idée?

    Je reste disponible pour plus de détails...

  7. #7
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    611
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 611
    Points : 2 080
    Points
    2 080
    Par défaut
    Malgrè le mal que j'ai pu dire de dbExpress, j'ai quand même réussi à me connecter quand même.

    Juste une idée : un des paramètres ou une des propriétés reset tous les autres (parce que je pense il déclenche la lecture du .ini où sont sauvegardé les profils de connexions).

    Donc vérifie la valeurs réelle des paramètres et propriétés avant de lancer la connexion pour vérifier s'il sont bien tous présent.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    En te lisant, je me suis dit que c'était pas mal du tout comme idée... Malheureusement, j'ai suivi ton conseil en mettant des watches sur toutes les valeurs que j'assignais et les valeurs, au moment ou je vais le "SQLConn.connected := true;" sont justes...

    Donc retour à la case départ... si tu as une autre idée, elle sera la bienvenue!

    Merci en tout cas de t'intéresser à mon cas.

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

Discussions similaires

  1. [phpmyadmin mysql] mot de passe du root
    Par mouna201 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/04/2009, 09h00
  2. Affichage mot de passe incorrect
    Par clem037 dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2008, 17h56
  3. mot de passe incorrect ( Oracle 10GR2 )
    Par davy.g dans le forum Administration
    Réponses: 3
    Dernier message: 13/02/2008, 16h24
  4. (Access 2007) Compte et mot de passe incorrect
    Par alinette dans le forum Sécurité
    Réponses: 7
    Dernier message: 12/06/2007, 14h41

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