Não sei se vem ao caso... Já tive esse tipo de problema, mas hoje eu criei uma metodologia de programação que além de agilizar o software, pode ser compatível com qq banco de dados q use sql. é simples: meu programa é 100% (100% mesmo!) tudo que eu faço é em SQL. Pra isso, crio rotinas de atualização. Assim, num ambiente com servidor de banco de dados, eu envio a instrução à ele. Mesmo numa rede com muitas alterações simultaneas não ocorre problema. Como por exemplo: aqui são umas 40 máquinas, todas em rede, acessando banco de dados mysql. antes, a rede era lenta e podia travar o servidor. depois, com essa nova mudança, não mais acontece esse tipo de problema. A rede é leve e o programa responde super bem... e outra coisa: em alguns terminais, rodo o programa em linux, emulado pelo wine.
abraços. and ----- Original Message ----- From: Walter Alves Chagas Junior To: delphi-br@yahoogrupos.com.br Sent: Wednesday, March 21, 2007 10:22 AM Subject: RES: RES: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi > Deadlock é o resultado de transações longas. Para encurtar o tempo em > que uma transação fica aberta, basta colocar os dados em cache e mandar > a aplicação gravar os dados quando o usuário mandar o Ok. > João, nem sempre... O verdadeiro conceito de um DeadLock, é quando um processo espera por um recurso que nunca será liberado por N razões. Isto pode ocorrer porque um outro processo, que estaria usando o recurso, pode ter dado pau e o referido então fica preso ou porque ele está sendo processado muito lentamente e já estrapolou o tempo previsto. Transações longas podem causar Deadlock? PODEM, MAS NÃO NECESSARIAMENTE. Isto é muito relativo e não é regra. Deadlocks não ocorrem apenas em função de transações em bancos de dados ou outros. Pode ocorrer numa fila de impressão, numa conexão FTP/HTTP, pode ocorrer num processo de leitura de um arquivo ou gravação em um arquivo dentre outros fatores. Mas geralmente eles são sintomas de que um outro processo travou ou está processando além do tempo estimado para o mesmo. []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Joao Morais Enviada em: quarta-feira, 21 de março de 2007 10:05 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi Thiago Parra wrote: > boa!!!! deadlock eh um otimo assunto para se discutir.. Deadlock é o resultado de transações longas. Para encurtar o tempo em que uma transação fica aberta, basta colocar os dados em cache e mandar a aplicação gravar os dados quando o usuário mandar o Ok. Geralmente os componentes de acesso a dados possuem uma propriedade CachedUpdates, basta ver no help como trabalhar com esta propriedade. Ela vai funcionar mais ou menos bem quando se tem mestre e detalhe. Quando parte para detalhe do detalhe a coisa complica. Para resolver o problema do cache em definitivo, recomendo o uso de componentes como ClientDataSet, ou frameworks de mapeamento e persistência, como Depo ou InstantObjects. -- Joao Morais -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos __________ Informação do NOD32 IMON 2131 (20070321) __________ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]