[firebase-br] Como faz pra Matar transações no Firebird 2.5

cpd em itauto.com.br cpd em itauto.com.br
Seg Jul 15 16:34:38 -03 2013


Até Assim , não vejo problemas na forma que estou utilizando , vendo que a 
transação deve ser acionada pra atualizar um bloco de instruções
(Update , Insert e Delete ) e que tambem que pode acontecer de cair a 
conexão bem no meio dela , e travando alguns registros , então nessa
necessidade é que preciso do comando pra listar as transações abertas e 
exclui-las quando nescessario , tentei o comando abaixo , mais
não me retorna os dados da TRANSAÇÃO que esta travada , alguem sabe me dizer 
como faz pra trazer exatamente a que fica me retornando
no erro :[concurrent update concurrent transaction number is 6049228] , 
tentei pelo comando abaixo , mais me retornar uma numeracao
toda diferente , agradeço quem puder ajudar .



select MON$STATEMENT_ID, MON$TIMESTAMP, cast(substring(mon$sql_text from 1 
for 250 ) as char(250)) from mon$statements
where mon$sql_text is not null> and mon$state = 1 -- Ativo

Após obter o ID e ver a SQL, então executo o comando abaixo:
delete from mon$statements where MON$STATEMENT_ID = XXX*

Desde já agradeco .
Adilson Pazzini


-----Mensagem Original----- 
From: Ricardo Kenji
Sent: Monday, July 15, 2013 2:41 PM
To: FireBase
Subject: Re: [firebase-br] Como faz pra Matar transações no Firebird 2.5

No meu caso, tenho o dataset referente a tabela que estou alterando sem
o campo que controla o bloqueio no seu select, e antes de entrar em
alteração, eu dou um update com outra transação apenas no campo que
controla esse bloqueio e dou um commit. Já que no dataset que está
realizando a alteração e que está em outra transação não enxerga esse
campo, não ocorre o deadlock para mim...



Em 15/07/2013 07:58, cpd em itauto.com.br escreveu:
> Inicio a transação .
>
> Dou um Update no registro em um campo que foi criado pra marcar que esta 
> sendo alterado  (Deixando a Transação Aberta).
>
> Ai qndo outra estação vai fazer o mesmo procedimento , ele mesmo retornar 
> o erro abaixo :
> [lock conflict on no wait transaction deadlock update conflicts with 
> concurrent update concurrent transaction number is 6049228]
>
> So que o grande problema , acontece , quando um terminal perde a conexão , 
> ai esse registro que foi marcado no inicio , fica travado
> durante 2 horas , até vi que existe uma forma de reduzir esse tempo , mais 
> vi tambem que não é aconselhavel fazer isso no firebird ,
> e vi tambem que tem como fazer isso no sistema operacional , mais no 
> windows nao consegui fazer rolar isso tambem , so que tambem
> esse problema não acontece sempre , somente qndo cai uma conexao mesmo , 
> por isso que queria saber se existe uma forma pra deletar
> somente essa transação que ta bloqueada no servidor . Queria ver se tem 
> como excluir pelo numero que ela gera na estação como no
> erro :[concurrent update concurrent transaction number is 6049228]
>
> Desde ja agradeço
>
>
> Adilson PAZZINI
>
>
> -----Mensagem Original----- From: Ricardo Kenji
> Sent: Monday, July 15, 2013 8:41 AM
> To: FireBase
> Subject: Re: [firebase-br] Como faz pra Matar transações no Firebird 2.5
>
> Como é esse travamento de registro que vc faz?
>
> Em 12/07/2013 14:53, cpd em itauto.com.br escreveu:
>> Hj tenho uma aplicação em Delphi , onde que as vezes em determinada tela 
>> , eu faço
>> o travamento de um registro , acionando uma transação e dando um update 
>> em um registro,
>> isso pra marcalo e deixar ele bloqueado no serviço , ai se outro usuario 
>> tentar entrar no mesmo
>> registro , o servidor me retornar o erro “Dead Lock” , inclusive me 
>> passando o numero da Transação.
>>
>> Queria saber se existe como excluir isso no servidor . pois tenho casos 
>> onde isso aconte-se por causa
>> de queda de conexao e ai so depois de 2 horas que o firebird libera a 
>> transação .
>>
>> Desde ja agradeço
>>
>>
>> Adilson PAZZINI
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista