IVAND
18-01-2011, 16:32:31
Hola a todos
Tengo un sistema echo en delphi 6 con los componentes IBX y base de datos firebird 1.5
Tengo definida las transacciones read_commited , rec_version , nowait
Es la manera correcta de configurarlas , lei por algun lado q es la manera correcta de hacerlos
El sistema estaba funcionando bien en un ambiente de de 40 equipos pero a veces se me colgaba y salia al tiempo un mensaje de deadlock , era porq tenia anteriormente configurado la opcion de wait , el mayor problema se me daba en las actualizaciones a inventarios , pero repito muy rara vez
Si me pueden guiar se los agradeceria un mundo
Nota : cuando utilizo transacciones en cache , al componente Ib le coloco cache en true y lo grabo con este funcion , seguido de un transaccion.commit;
function puedocerrarTrans(const Tables: array of TIBDataset; Action: string): Boolean;
var
I: Integer;
//Actualizar: Boolean;
begin
Result := True;
for I := 0 to high(tables) do
if Tables[I].updatesPending or Tables[I].modified then
begin
if Action = 'S' then Tables[I].ApplyUpdates
else
Tables[I].CancelUpdates;
end;
end;
Tengo un sistema echo en delphi 6 con los componentes IBX y base de datos firebird 1.5
Tengo definida las transacciones read_commited , rec_version , nowait
Es la manera correcta de configurarlas , lei por algun lado q es la manera correcta de hacerlos
El sistema estaba funcionando bien en un ambiente de de 40 equipos pero a veces se me colgaba y salia al tiempo un mensaje de deadlock , era porq tenia anteriormente configurado la opcion de wait , el mayor problema se me daba en las actualizaciones a inventarios , pero repito muy rara vez
Si me pueden guiar se los agradeceria un mundo
Nota : cuando utilizo transacciones en cache , al componente Ib le coloco cache en true y lo grabo con este funcion , seguido de un transaccion.commit;
function puedocerrarTrans(const Tables: array of TIBDataset; Action: string): Boolean;
var
I: Integer;
//Actualizar: Boolean;
begin
Result := True;
for I := 0 to high(tables) do
if Tables[I].updatesPending or Tables[I].modified then
begin
if Action = 'S' then Tables[I].ApplyUpdates
else
Tables[I].CancelUpdates;
end;
end;