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
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é).