Qual a mensagem gerada qual vc da um Edit sem iniciar uma transação?

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Fellipe 
Henrique
Enviada em: sexta-feira, 16 de novembro de 2007 14:36
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria alguma 
solução?

 

Eu vi lá.. na verdade não estou usando AutoCommit, e sim AutoTransaction,
ou seja, minhas IBTransaction estão como AllowAutoStart como True... tentei
passar isso pra false, e incluir um StartTransaction ao gravar, mas o IBX
não deixa, ele precisa de uma transação ativa até para mostrar os dados.

E pelo que vi, não há como separar a transacao do Update com a de um simples
View... :o(

E agora? Fiquei preso.. hehe

[]s

Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
<mailto:davi.wall%40mult.com.br> > escreveu:
>
> Eu não uso IBx, mas no tal IBDatabase tem uma propriedade Params, onde
> provavelmente vão os parâmetros de conexão.
>
> Provavelmente, há um parâmetro conexão chamado AutoCommit, coloque esse
> parâmetro para False e faça os testes.
>
> Se alguém mais conhece conexões com IBx e poderia ajudar o Felipe em como
> configurar uma conexão sem auto commit.
>
> []'s
>
> De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br> [mailto:
> delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br>] Em nome de
> Fellipe Henrique
> Enviada em: sexta-feira, 16 de novembro de 2007 14:13
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> <delphi-br%40yahoogrupos.com.br>
> Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> alguma solução?
>
> IBX... IBExpress...
>
> []s
>
> Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> > escreveu:
> >
> > O que você está usando como conexão? Bde ou DBExpress ???
> >
> > De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br> [mailto:
> > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em nome
> de
> > Fellipe Henrique
> > Enviada em: sexta-feira, 16 de novembro de 2007 14:00
> > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > alguma solução?
> >
> > Mas tipo.. como eu falo pra meu DataSet que não é pra ele abrir a
> > transação?
> >
> > Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> > <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > davi.wall%40mult.com.br> > escreveu:
> > >
> > > Aí está um problema.
> > >
> > > Imagine que um funcionário que está usando seu sistema for cadastrar
> > algo
> > > e no meio do cadastro ele foi tomar um café.
> > >
> > > O café dele durou 30 minutos. Essa tabela ou registro vai ficar em
> lock
> > > por meia hora.
> > >
> > > O ideal seria vc controlar isso manualmente.
> > >
> > > Database.StartTransaction;
> > >
> > > try
> > >
> > > Table.Post;
> > >
> > > Except
> > >
> > > Database.RollBack;
> > >
> > > End;
> > >
> > > DataBase.Commit;
> > >
> > > Isso diminui o tempo de transação e com certeza vai melhorar os seus
> > > problemas de lock.
> > >
> > > []'s
> > >
> > > De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> [mailto:
> > > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br> <mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br> <mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em
> nome
> > de
> > > Fellipe Henrique
> > > Enviada em: sexta-feira, 16 de novembro de 2007 13:38
> > > Para: delphi-br@yahoogrupos.com.br 
> > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
>
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > > Assunto: Re: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > > alguma solução?
> > >
> > > Bom, na verdade deixo isso por conta do IBX, provavelmente a abertura
> > deve
> > > ser feita no .Edit, e finalizar quando eu dou o Cancel (RollBack), ou
> o
> > > Post
> > > (Commit). Isso em todas as telas minhas de cadastro...
> > >
> > > []s
> > >
> > > Em 16/11/07, Davi Eduardo Borges Wall <[EMAIL PROTECTED] 
> > > <mailto:davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > davi.wall%40mult.com.br> <davi.wall%40mult.com.br><mailto:
> > > davi.wall%40mult.com.br> > escreveu:
> > > >
> > > > Em que momento você está abrindo e fechando transação?
> > > >
> > > > De: delphi-br@yahoogrupos.com.br 
> > > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > [mailto:
> > > > delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br> <mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> <mailto:
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>] Em
> > nome
> > > de
> > > > Fellipe Henrique
> > > > Enviada em: sexta-feira, 16 de novembro de 2007 13:13
> > > > Para: delphi-br@yahoogrupos.com.br 
> > > > <mailto:delphi-br%40yahoogrupos.com.br>  
> > > > <delphi-br%40yahoogrupos.com.br><mailto:
> delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br><mailto:
> >
> > > delphi-br%40yahoogrupos.com.br> <delphi-br%40yahoogrupos.com.br>
> > >
> > > > Assunto: [delphi-br] Erro de DeadLock, me matando.. alguém teria
> > alguma
> > > > solução?
> > > >
> > > >
> > > > Olá amigos, estou tendo um problema que está me pirando, se algum
> > amigo
> > > > souber de alguma forma de tratar isso, agradeço..
> > > >
> > > > Seguinte... tenho uma tabela de Nota de Entrada, e no Before Update
> > > dela,
> > > > tenho uma trigger, que dá um update na tabela produto, atualizando o
> > > custo
> > > > dele..
> > > >
> > > > update produto
> > > > set custo_unitario = :vCusto,
> > > > custo_medio = :vCustoMedioA,
> > > > custo_total = coalesce(custo_total, 0) + (:vcusto * new.quantidade)
> > > > where (idproduto = new.idproduto);
> > > >
> > > > Meu problema está no seguinte... em outra parte da empresa, tem um
> > setor
> > > > alterando o cadastro do produto, aí? DeadLock! O interessante é que
> é
> > > > somente o usuário clicar no botão alterar do produto, que já trava o
> > > > registro...
> > > >
> > > > Pois bem, no meu botão alterar faço isso:
> > > >
> > > > TbPrincipal.Close;
> > > > TbPrincipal.ParamByName('PCODIGO').AsInteger := CÓDIGO_DO_PRODUTO;
> > > > TbPrincipal.Open;
> > > > TbPrincipal.Edit;
> > > >
> > > > O usuário não deu o Commit e nada...
> > > >
> > > > Pois bem, alguém teria alguma solução para isso? Tô esquentando a
> mufa
> > > > aqui
> > > > e nada....
> > > >
> > > > Ah.. to usando IBX, e todas as transactions estão como ReadCommited.
> > > >
> > > > Desde já agradeço.
> > > >
> > > > --
> > > > _________________________________
> > > > T.·.F.·.A.·.
> > > > Fellipe Henrique
> > > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > > > <mailto:
> fellipeh%40gmail.com> <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > > [As partes desta mensagem que não continham texto foram removidas]
> > > >
> > > >
> > > >
> > >
> > > --
> > > _________________________________
> > > T.·.F.·.A.·.
> > > Fellipe Henrique
> > > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > > <mailto:fellipeh%40gmail.com>
> <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > _________________________________
> > T.·.F.·.A.·.
> > Fellipe Henrique
> > [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> > <mailto:fellipeh%40gmail.com>
> <fellipeh%40gmail.com> <mailto:fellipeh%40gmail.com>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> _________________________________
> T.·.F.·.A.·.
> Fellipe Henrique
> [EMAIL PROTECTED] <mailto:fellipeh%40gmail.com>  <fellipeh%40gmail.com> 
> <mailto:fellipeh%40gmail.com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

-- 
_________________________________
T.·.F.·.A.·.
Fellipe Henrique
[EMAIL PROTECTED] <mailto:fellipeh%40gmail.com> 

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a