tentei acessar, mas deu link inválido...
----- Mensagem original ---- De: Rubem Nascimento da Rocha <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 22 de Março de 2007 8:35:46 Assunto: RE: Res: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi O exemplo onde me baseei está abordando InterBase/FireBird e pode ser baixado no link http://www.comunida de-firebird. org/cflp/ downloads/ Manut_IB. zip. Por ser algo que envolve apenas controle transacional para usar o mecanismo de concorrência existente no Banco de Dados, acredito que a mesma técnica possa ser utilizada com outros bancos de dados, como PostgreSQL ou MySQL. Sds. >From: Nilton Fernando Barbosa <[EMAIL PROTECTED] com.br> >Reply-To: [EMAIL PROTECTED] os.com.br >To: [EMAIL PROTECTED] os.com.br >Subject: Res: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi >Date: Thu, 22 Mar 2007 04:21:39 -0700 (PDT) > >Você poderia enviar o trecho de código onde você faz esta transação? > > > >----- Mensagem original ---- >De: Rubem Nascimento da Rocha <djpardalrocha@ hotmail.com> >Para: [EMAIL PROTECTED] os.com.br >Enviadas: Quarta-feira, 21 de Março de 2007 22:00:54 >Assunto: Re: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi > >No FireBird, graças a uma indicação de um excelente exemplo que encontrei >no >site http://www.firebird .com.br, descobri uma maneira simples e eficiente >de >tratar concorrência, usando bloqueios pessimistas. > >No momento de editar um registro, eu inicio uma transação e faço um update >simples no(s) registro(s) da(s) tabela(s) que estará(ão) envolvida(s) na >transação - digo isto pq posso estar em uma relação >mestre-detalhe[ -detalhe[ -detalhe] ...], etc. > >Ao iniciar a transação e iniciar os updates, se um dos updates falhar, isto >é sinal de que alguém usou o mesmo método pra bloquear o registro e efetuar >alterações. Daí, dou um aviso ao usuário e pergunto se ele quer tentar >editar o registro agora ou mais tarde. Daí, mantenho a transação aberta até >o momento de eu efetuar um ApplyUpdates (deu pra perceber que uso controles >data-aware! ) . > >Não sei se esta forma simplista, apesar de ter sido usada com sucesso no >FireBird, poderia funcionar em outros bancos de dados, pois eu uso um >controle que existe em qualquer outro banco de dados, que é o controle >transacional. Baseado no conceito de que um registro já pode estar dentro >do >contexto de uma transação, se uma outra transação tentar mexer neste(s) >mesmo(s) registro(s) posso ter uma exceção de banco de dados, pois >implícitamente o controle transacional fará este bloqueio para mim. > >Está dada a dica. Vou tentar fazer isto com PostgreSQL e MySQL. Eu acredito >que possa dar certo. Informarei a todos nesta thread do debate sobre os >resultados em breve. > >Sds. > > >From: "Julio Cesar" <[EMAIL PROTECTED] com.br> > >Reply-To: [EMAIL PROTECTED] os.com.br > >To: <[EMAIL PROTECTED] p os.com.br> > >Subject: Re: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi > >Date: Wed, 21 Mar 2007 20:31:37 -0000 > > > >hum... isso td ai embaixo pra dizer q o deadlock acontece... blz, mas nao > >eh dificil tratar isso, e de dentro do aplicativo vc usa um try/except e >no > >except vc pode fazer um loop (finito ou infinito) pra tentar novamente > >comitar a alteracao dos dados, depende de como suas atualizacoes sao > >feitas... > > > >eu trabalho assim, pq a atualizacao de estoque e outras coisas acontece >no > >banco e nao tenho o famigerado qry.fieldbyname( 'campo'). value : > >qry.fieldbyname( 'campo'). value - qtdevendida. ......... .... > > > > > >Julio Cesar > >+353 87 2184139 > >+353 (0)91 630317 > > > > > > ----- Original Message ----- > > From: Rubem Nascimento da Rocha > > To: [EMAIL PROTECTED] os.com.br > > Sent: Wednesday, March 21, 2007 12:42 AM > > Subject: [delphi-br] DEBATE: Tratando Concorrência de Dados em Delphi > > > > > > Srs., > > > > Existem assuntos que julgo pertinentes pra nossa profissão como > > desenvolvedor de sistemas, e acredito que como a maioria dos > >profissionais > > que aqui nesta lista estão inscritos a preocupação com a integridade > >física > > e relacional em um banco de dados é algo imprescindível. > > > > Já vi pessoas relatando problemas sobre erros de deadlock em sistemas > > aplicativos, quer sejam no ramo comercial ou industrial, e acredito que > > seria uma boa oportunidade nós discutirmos sobre este assunto. Me refiro > >ao > > controle de concorrência em um banco de dados. > > > > Quem estudou em faculdade, sabe do que estou falando. Quem tem apenas a > > experiência adquirida no trabalho, tb já deve ter passado por isso > >quando > > suas aplicações começavam a assinalar mensagens de erro mencionando a > > palavra 'deadlock' durante uma operação de alteração de dados em uma > >tabela. > > Pois é, é a mesma coisa. > > > > Proponho que nesta lista nós, colegas da área experimentados no assunto, > > possamos discutir um meio de controlar, de forma conceitual e genérica, > >para > > qualquer banco de dados (se possível) como efetuar este tipo de controle > >em > > nossas aplicações, ou mesmo como detectar isto em nossos bancos de dados > > através das linguagens por eles disponibilizadas (PL/SQL do Oracle, > > TransactSQL do SQL Server, Informix 4GL do Informix, etc.). > > > > Enfim, srs., o que proponho não é apenas uma forma implícita de > >helpdesk, > > como já fi circular em muitas listas de discussão, e sim propor uma > > discussão verdadeiramente técnica sobre o tema. > > > > Ao moderador, espero contar com a colaboração de incentivar os colegas > >com > > mais experiência com desenvolvimento de sistemas a colocar suas idéias e > > expor suas experiências a fim de que todos possam se beneficiar com esta > > discussão. Afinal, a lista serve para isto, para discutir, de > >preferência > > temas técnicos com propostas, sugestões, idéias, ... e não meramente > >usar > > este recurso como um helpdesk ou um help on-line. > > > > Gratos pela atenção, > > > > Rubem Rocha > > Manaus, AM > > > > ____________ _________ _________ _________ _________ _________ _ > > MSN Busca: fácil, rápido, direto ao ponto. http://search. msn.com.br > > > > > > > > > > > >[As partes desta mensagem que não continham texto foram removidas] > > > >___________ _ _________ _________ _________ _________ _________ _ >MSN Hotmail, o maior webmail do Brasil. http://www.hotmail. com > > > > >___________ _________ _________ _________ _________ ___ >Fale com seus amigos de graça com o novo Yahoo! Messenger >http://br.messenger .yahoo.com/ > >[As partes desta mensagem que não continham texto foram removidas] > ____________ _________ _________ _________ _________ _________ _ MSN Busca: fácil, rápido, direto ao ponto. http://search. msn.com.br __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]