Ver Mensaje Individual
  #1  
Antiguo 23-10-2017
Rc96 Rc96 is offline
Miembro
 
Registrado: ago 2017
Posts: 75
Reputación: 7
Rc96 Va por buen camino
Capturar Error de conexion

Hola buenos dias, espero esten bien. Queria saber si alguien sabe como capturar los errores que ocurran al conectar la base de datos. Veran al iniciar mi sistema verifica un archivo ini donde estan los parametros de conexion de la base de datos y procede a conectar pero si llegara a ocurrir un error en la coneccion como podria capturarlo y si se cumple esa condicion abrir el modulo donde configuro la conexion para la base de datos. Como base de datos uso PostgreSQL y para la coneccion FireDac.

Vi este codigo en la inter para obtener el error pero veo que es para un dataset no para el FDConnection1
Código Delphi [-]
       try
      DataSet.Post;
    except
      on E: Exception do
        ShowMessage(E.Message);
    end;

aca les dejo el codigo con el que conecto la BD al iniciar el sistema.
Código Delphi [-]
procedure Tfrmvp.FormShow(Sender: TObject);
var DriverID,DB,User,Pass,Server,Port: String;
begin
 if FileExists('ConexionBD.ini') then {Verificar si existe el .ini con la conexion}
 begin
    FDPhysPgDriverLink1.VendorLib:='libpq.dll';{Le indico la libreria de la BD}
    FDConnection1.Connected:=false;
    FDConnection1.Params.Clear;
    FDConnection1.Params.DriverID:='PG';  {escojo el drier de la BD}
    Conexion:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'ConexionBD.ini'); {Extraigo los parametros del .ini}
     with Conexion do
   begin
    DB:= Conexion.ReadString('Conexion', 'DataBase', '');
    User:= Conexion.ReadString('Conexion', 'User_Name', '');
    Pass:= Conexion.ReadString('Conexion', 'Password', '');
    Server:= Conexion.ReadString('Conexion', 'Server', '');
    Port:= Conexion.ReadString('Conexion', 'Port', '');
   end;
      with Conexion do {paso los parametros al FDConnection para la conexion}
   begin
    FDConnection1.Params.Add( 'Server=' + Server  );
    FDConnection1.Params.Database:=DB;
    FDConnection1.Params.UserName:=User;
    FDConnection1.Params.Password:=Pass;
   end;
   Timer1.Enabled:=True;
   Barra_Estado;
 end
 else
 begin
   ShowMessage('BIENVENIDO');
 end;
end;
Si pueden corregir mi idea no esta de mas.
Espero puedan ayudarme. De antemano Gracias.
Responder Con Cita