hola amigos como estan espero recibir una vez mas su ayuda. les comento que me he enriquecido de informacion con el tema de los archivos.ini para la conexion de mi aplicacion con mysql.
tengo dos maquinas (A) y (B)conectadas en red, en la maquina A he instalado mysql server 5.7 y he creado una aplicacion de ventas que se conecta a una base de datos creada mediante workbrench, tengo las librerias de mysql (libmysl.dll) en su lugar y todo funciona correctamente.
he creado un archivo.ini llamado conexionbase.ini donde tengo escrito los siguientes parametros que necesito para que el componente FIDERAC
me realize la correcta conexion.
[bd]
Database="Grsistema-db"
[usuario]
User_Name="root"
[pas]
Password="root"
[servidor]
Server="localhost"
[driver]
DriverID="MySQL"
[puerto]
Port="3306"
en el evento oncreate del formprincipal puse el siguiente codigo
Código Delphi
[-]procedure TFormlogin.FormCreate(Sender: TObject);
var
bd,usuario,pas,servidor,driver,puerto : string;
IniFile : TIniFile ;
begin
with ModuloDatos do
begin
con1.Connected:=False;
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'conexionbase.ini');
bd := IniFile.ReadString('bd','Database','');
usuario := IniFile.ReadString('usuario','User_Name','');
pas := IniFile.ReadString('pas','Password','');
servidor:= IniFile.ReadString('servidor','Server','');
driver := IniFile.ReadString('driver','DriverID','');
puerto := IniFile.ReadString('puerto','Port','');
If bd = '' then
begin
ShowMessage('Error al cargar Base de Datos');
Application.Terminate;
end
else
begin
con1.Params.Clear;
con1.Params.Database:= bd;
con1.Params.UserName:=usuario;
con1.Params.Password:=pas;
con1.Params.Add('Server='+servidor);
con1.Params.DriverID:=driver;
con1.Params.Add('Port='+puerto);
con1.Connected:= True;
end;
end;
end;
esto me levanta sin problemas el programa ya que este lee lo que tiene el archivo.ini y se conecta a la base de datos
ahora mi problema es el siguiente, tenia entendido que cuando lleve la aplicacion a la maquina B solo deberia modificar el archivo ini
[servidor]
Server="localhost" por "ipdelservidor"
lo hago pero al iniciar el programa me tira este error :
[FireDAC][phys][Mysql]Access denied for user 'root'@'ipdelamaquinaB'(using password: YES)
no se a que se debe.. instale workbrench en la maquina B y pude conectarme remotamente pero no puedo hacerlo desde mi aplicacion.