[firebase-br] Firebird Classic Processos Perdidos

Hélio Oliveira hpensador em gmail.com
Sex Abr 22 20:21:13 -03 2016


Exatamente Pedro, o ApplyUpdates apenas confirma a gravação dos dados no 
banco e como você bem demonstra o colega Fabiano deverá adotar este 
mesmo modelo.

try
   Conexao.Transaction.Startrasaction;
   CDS.ApplyUpdates;
   Conexao.Transaction.Commit;
exception
   Conexao.Transaction.Rolback;
end;


Em 22/04/2016 12:15, Pedro Braga escreveu:
> Boa Tarde,
>     Utilizo o seguinte processo com o ClientDataSet.
> try
>     Conexao.Transaction.Startransaction;
>     TabelaA..ApplyUpdates;
>     TabelaB..ApplyUpdates;
>     Conexao.Transaction.Commit;
> exception
>     Conexao.Transaction..Rolback;
> end;
>
>     Nunca tive problema de perdas no processo, no ClientDataSet o
> ApplyUpdates apenas manda as alterações para a base não controlando
> transações da conexão assim como uma table ao dar um post.
>
> Em 22/04/2016 11:58, Frederico Godoi escreveu:
>> Certamente são transações abertas, já passei demais pelo mesmo cenário,
>> hoje quando praticamente não tenho isso e olha que meu sistema é
>> cliente/servidor tradicional ( em Delphi também ) e chegamos até a 400
>> estações online simultâneas, com uso intenso.
>>
>> Não conheço tão bem a estrutura com ClientDataset como você, então não
>> posso garantir que o ApplyUpdates faça o commit nesse momento.
>>
>> Como eu uso uma função para aplicar updates eu tenho
>>
>> try
>>     Componente.Startransaction;
>>     ExecSQL;
>>     Componente.Commit;
>> except
>>     Componente.Rollback;
>> end;
>>
>> faça um teste de uma app simples.
>> Conecta
>> Faça um apply updates
>> Faça um select na MON$TRANSACTIONS
>>
>>
>> abs
>>
>> Frederico
>>
>> 2016-04-22 9:48 GMT-03:00 Fabiano P.
>> <fabianopassianoto em gmail.com>:
>>
>>> Vc acha então que podem ser transações não comitadas ?
>>>
>>> No caso a estrutura do meu sistema é o tradicional delphi com
>>> controle de
>>> componentes...
>>> Necessito comitar as minhas transações, para que eu possa enxerga-las no
>>> banco, isso até então tem funcionado sem nenhum problema.
>>>
>>> Mas 95% das minhas transações, são comitadas via comando
>>>
>>> ClientDataSet.ApplyUpdates;
>>>
>>> Eu teria que fazer mais o que, para fechar esses processos?
>>>
>>> Hoje vc não tem mais este problema ?
>>>
>>>
>>>
>>>
>>> ---------------------
>>> Fabiano P.
>>> Analista de Sistemas/Programador
>>> Tecnologia de Informação e Vivencia - http://blogdamemoria.blogspot.com
>>>
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>






Mais detalhes sobre a lista de discussão lista