Ver Mensaje Individual
  #1  
Antiguo 21-03-2021
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Reputación: 16
Gregorio Cíber Va por buen camino
Firebird remoto - Modificar registros

¡Hola amigos!

Utilizando los antiguos componentes FIBPlus, conecto con una BD remota (Firebird 3.0) con el código siguiente:

Código Delphi [-]
Base.DBName  := 'xxx.xxx.xxx.xxx:alias_bd';
Base.LibraryName := camino_aplicacion_local + 'fbclient.dll';
with Base do
begin
  DBParams.Clear;
  DBParams.Add('lc_ctype=ISO8859_1');
  DBParams.Add('user_name=SYSDBA');
  DBParams.Add('password=' + clave;
  DBParams.Add('sql_role_name=' + rol;
  Connected := True;
end;

La conexión se establece perfectamente, se pueden hacer consultas, ejecutar procedimientos almacenados que devuelvan valores, vistas, etc. Todo menos modificar registros de la BD. Por ejemplo, esto no funciona:

Código Delphi [-]
Base.tra_General.Active := True;
Base.tra_General.StartTransaction;
Base.qry_General.ExecProc;
Base.tra_General.Commit;
Base.ra_General.Active := False;

Siendo el código SQL del componente qry_General (TpFIBQuery):

Código SQL [-]
update tbl_clientes
set nombre = nombre || ' algo'
where (cid_cliente = xxxx)

Esta tontada de código SQL es simplemente una prueba después de cansarme de ejecutar un procedimiento almacenado que debía crear un pedido y que no he conseguido hacer que funcione.

Alguna sugerencia. De todas formas, gracias.
Responder Con Cita