[firebase-br] Conflito na hora de atualizar registro

Sandro oleber_itajai em yahoo.com.br
Ter Maio 22 08:50:51 -03 2007


mas se vc usar o generator fora do trigger assim:

select * from gen_id(generator,1) from rdb$database

vc saberá o valor do generator primeiro.

Será que naum resolve ?

Grato.
----- Original Message -----
From: "John Klaus Kanenberg" <kanenberg em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, May 22, 2007 1:28 AM
Subject: Re: [firebase-br] Conflito na hora de atualizar registro


Eu também pensei em usar generator para gerar o auto-incremento, pois
com certeza funcionaria muito melhor...

Mas o problema é que eu preciso saber qual é este valor no sistema para
então gravar informações em 2 tabelas distintas (tipo master/detail)
onde em cada uma desta tabelas é armazenado este valor para criar um
vinculo entre as informações...

Eu já cheguei a conclusão que seria muito melhor utilizar o dbExpress,
mas por ocasião migrar todo o sistema que roda simultaneamente em
aproximadamente 12 estações sem nenhum problema exigiria tempo e este
não está ao alcance, ficando para uma futura atualização do sistema.

Já vi que no dbExpress um recurso de capturar o valor do generator e
depois utilizar este livremente... Seria isso posivel com DBX ?



INFOSAG escreveu:
> concordo.
>
> eu faco assim tambem.
>
>
> ----- Original Message -----
> From: "Felype de Carvalho" <xslaiderx em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, May 22, 2007 12:50 AM
> Subject: Re: [firebase-br] Conflito na hora de atualizar registro
>
>
>     cara aconselho você utilizar o generetor para gerar o valor do campo
> auto incremento, é a melhor forma
> de não dar conflito na hora da geração do valor do campo, isto resolverá o
> problema do auto incremento.
> pelo seguinte fato com o IBTransaction você tem que confiura-lo, dando
dois
> cliques no componente e
> escolhendo a opção configurado no seu banco de dados por exemplo
ReadCommit
> assim as transações
> serão enviadas diretamente ao servidor e não ficarão somente na memória da
> máquina local, pois sem
> esta configuração as informações só serão enviadas ao banco de dados após
> finalizar a conexão com o
> mesmo, fechando o IBDataBase.
>
>     Bom só queria deixar uma opinião, eu utilizava os componentes IBX para
> desenvolver os meus sistemas,
> mas resolvir mudar para o dbExpress, pois estava dando muitos problemas. O
> IBX é muito bom para funcionar
> em uma máquina somente. Optei em trocar os componentes para dbExpress,
pois
> ele faz o processo direto de
> atualização das informações no banco de dados, mantendo assim as
informações
> atualizadas em todas as estações.
> Esta é a minha opinião.
>
> espero ter ajudado
> ----- Original Message -----
> From: "John Klaus Kanenberg" <kanenberg em yahoo.com.br>
> To: <lista em firebase.com.br>
> Sent: Tuesday, May 22, 2007 12:01 AM
> Subject: [firebase-br] Conflito na hora de atualizar registro
>
>
> Caros amigos,
>
> Em um sistema que desenvolvi, utilizo uma tabela para gravar um valor de
> referência em um determinado campo (simulando um generator/trigger via
> programação)...
>
> Este sistema roda em rede com ambiente windows, servidor win2k com
> firebird 1.5, com vários usuários gravando registros simultaneamente...
>
> Funciona bem, mas em certas operações do sistema este grava um elevado
> numero de registros sequenciais no banco de dados, e a cada novo
> registros o sistema faz um select na tabela de referência, pega o valor
> e dá um update incrementando este... Mas como este processo acaba se
> tornando muito rápido e algum outro cliente tentar dar update na tabela
> de referência acaba dando conflito !!!
>
> Qual seria a melhor opção para resolver este problema, uma vez que o
> sistema precisa do valor de referência (auto-incremento) antes de gravar
> as informações simultaneamente em 2 outras tabelas, e ao mesmo tempo
> vários cliente aleatoriamente precisam alterar (update) o valor de
> referência.
>
> Utilizo Delphi 7 com acesso ao banco de dados utilizando componentes IBX
> (TIBDatabase/TIBTransaction/TIBQuery).
>
> Desde já agradeço pela ajuda dos amigos.


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.467 / Virus Database: 269.7.6/813 - Release Date: 20/05/2007
07:54



		
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/
 






Mais detalhes sobre a lista de discussão lista