3 pistes :
1) le composant TZConnexion possède une property protocol.
Il faut que cette property corresponde à la version du client installé.
2) zeos.inc permet de mettre en place un système de dll nommée
Si on entre le code :
zcnx.protocol := 'mysql-4.1' ;
le programme va d'abord chercher une dll nommée : libmysql41.dll au lieu du libmysql.dll standard (si la version nommée est absente, il se rabat sur le nom standard).
Cette option est très utile et évite les conflit avec d'autres logiciels ou installations anciennes.
Personnellement, je met toujours un libmysql41.dll dans le dossier de mon EXE. Ca évite les pb.
3) les versions récentes de MySQL implémente un nouvel algorithme de hashage des mots de passe.
Donc, si on utilise la fonction PASSWORD('mot_de_passe') pour définir le mot de passe sur une version 4.1, un client plus ancien ne pourra pas se connecter.
Pour éviter ce pb, il faut utliser la fonction OLD_PASSWORD('mot_de_passe').
Ce faisant, MySQL 4.1 utilisera l'ancien système de hashage des mot de passe. Les anciens clients arriveront alors à se connecter.
A noter que l'ancien système utilise des clés moins longues et qu'il est donc plus facilement crackable. Mais, il ne faut rien exagérer, c'est très relatif.
Au vu de l'erreur, je pense que ton pb peut-être résolu par le 3), j'aurais du le mettre en 1) ;-)
Partager