Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   No reconoce la clave Mysql (https://www.clubdelphi.com/foros/showthread.php?t=96745)

pruz 14-06-2024 20:11:32

No reconoce la clave Mysql
 
Hola Amigos:

Espero que esten bien.
Tengo el siguiente problema. Tengo mysql 5.0 instalado, con varias aplicaciones, delphi 6, usando Zeos para conectame, sin ningun problema.
Pero realice una aplicacion en Dephi 11 (alejandria) usando Firedarc para conectarme al mysql. y me da el el error dice "que no reconoce la protocolo de autentificacion", estuve averiguando y dice que cambio el protocolo de autentificacion por seguridad. y debe usar el comando set password o old_password(xxxx), algo asi por el estilo.

Si alguien sabe como programar esto en delphi o si es la solucion o si hay otra solucion.


gracias
Patricio

Casimiro Notevi 15-06-2024 11:45:45

No he entendido el problema, ¿no conoces la clave? ¿el protocolo es erróneo? ¿qué haces? ¿cómo conectas? ¿qué mensaje exacto te muestra? ...

pruz 17-06-2024 15:42:15

Buenos dias:

Parece que no me explique bien, a ver si ahora acierto.

1.- Tengo una base de datos Mysql 5.0. Tengo varios desarrollo en Delphi 6 con Zeos para Mysql. Ahora cuando digito en las aplicaciones, el usuario JRamirez y la clave Juan323, las aplicaciones se conectan sin ningun problema.

2.- Ahora, Tengo la misma base de Datos Mysql 5.0. Pero he desarrollado una aplicacion con Delphi 11 (alejandria) y conexion Fiderac para Mysql. Digito el usuario JRamirez y la clave Juan323, pero NO se conectar. (Todos los parametros de conexion estan correcto).

3.- Estuve investigando, y encontre algo asi que dice que "el protocolo de autentificaciona a cambiado" y que la solucion es aplicar un par comando como, el set password o el old_password().


4.- Mi pregunta en concreto es, si alguien ha aplicado esta solucion? o como la aplico en el codigo de programacion? o si alguien encontro otra solucion?



Espero haber sido mas explicativo.
Gracias,

Casimiro Notevi 17-06-2024 16:09:19

Seguramente no estás usando el protocolo adecuado:
Código Delphi [-]

FDConnection1.Params.Add('Server=myServerAddress');
FDConnection1.Params.Add('Port=3306');
FDConnection1.Params.Add('Database=myDataBase');
FDConnection1.Params.Add('User_Name=myUsername');
FDConnection1.Params.Add('Password=myPassword');
FDConnection1.Params.Add('Protocol=mysqld'); // <--- Puedes intentar cambiar el protocolo aquí

pruz 18-06-2024 00:35:20

2 Archivos Adjunto(s)
Casimiro:

Hice lo que me recomendaste, pero sigue el error. Adjunto imagen de codigo de programacion e imagen de error

Gracias

manelb 18-06-2024 10:15:15

No creo que te sirva de mucho pero te muestro los parámetros que uso con firedac para una conexión con MYSql

Código Delphi [-]
Server=99.99.999.999
Database=ptrucades
DriverID=MySQL
User_Name=User_Name
password=password

Saludos

marco3k 18-06-2024 17:26:18

Cita:

Empezado por pruz (Mensaje 556177)
Casimiro:

Hice lo que me recomendaste, pero sigue el error. Adjunto imagen de codigo de programacion e imagen de error

Gracias


El problema según la imagen es que usas un mysql muy antiguo y te esta avisando que actualices el cliente mysql. Porque no actualizas tu mysql 5 a un versión mas actual, tendrías mas ventajas. Mira realiza esto para q pruebes este punto, realiza un backup de tu bases de datos mysql, después instala una versión actualizada de mysql y restaura ahí la base de datos, luego dirige tu conexión a esa base de datos nueva y debería funcionar sin problemas.

marco3k 18-06-2024 17:42:12

Lo curioso es que el wiki de embarcadero dice que es compatible desde la versión 3.21 de mysql
Cita:

MySQL Server Community, Enterprise, and Embedded editions, from version 3.21 up to version 8.0.23.
Fuente: https://docwiki.embarcadero.com/RADS...rver_(FireDAC)

Encontré este ejemplo, quizas debas adecuar la parte de driver asi:
Código Delphi [-]
with Params do begin    
  Clear;       
  Add('DriverID=MySQL');       
  Add('Server=127.0.0.1');       
  Add('Port=3306');               
  Add('Database=FDDemo');     
end;

pruz 24-06-2024 15:55:53

Marco3k, hice lo que me señalaste pero aun sigue sin reconocer la clave.

Voy hacer lo que recomendaron de reemplazar por una mas actualizada de la version 5.0 pasare a la 5.1 y luego a la 5.7.

y les cuanto como me va.

Saludos,
gracias

delphi.com.ar 24-06-2024 18:57:49

Tu problema no es la clave, es el protocolo. Necesitas autenticarte como "mysql_native_password", necesitas saber como indicarle al conector que utilice el modo nativo. Desconozco como se hace.

Saludos.

pruz 03-07-2024 22:15:53

Hola amigos,

Aun con mi problema, realice los cambios a las versiones señaladas hasta la 5.7, pero sigue igual.
Despues cambie a la 8.x y la aplicacion realizada con Delphi 11 (alejandria) y conexion Fiderac se conecto y trabajo sin ningun problema.
pero todas las aplicacion realizadas en Delphi 6 con Zeos, ninguna se conecto. :(

Asi que volvi todo atras, al Mysql 5.1..

AL parece no hay solucion, y lo mencianado sobre el protocolo "mysql_native_password", encontre algo de informacion pero no supe como usarlo en el codigo delphi.

Gracias, por su paciencia y ayuda.


La franja horaria es GMT +2. Ahora son las 21:54:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi