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]

Responder a