GARANTIR DESCONTO

Fórum Erro de Dead Lock - Firebird #427455

29/10/2012

0

olá amigos,

Temos um cliente onde nossa aplicação, às vezes (tipo a cada 10 dias + ou -), dá erro de dead lock. O firebird instalado é a versão 1.5.6. Uso Delphi 7 e alguns clientes (poucos) dão esse erro. É sempre na gravação de uma tabela via stored procedure. Já coloquei tratamentos para gravar log quando gera erro, só que nem passa na rotina... Alguém já passou por isso?

A instalação default do firebird que usamos é a Super Server. Bom, tentei deixar como Classic, porém também gera dead lock. E até trocamos o servidor de banco de dados, para uma maquina melhor... nada.
Fernando

Fernando

Responder

Posts

29/10/2012

Fernando

Esqueci de comentar: a gravação na tabela está sendo feita por transação (commit/rollback), ou seja, está sendo tratada.
Responder

Gostei + 0

29/10/2012

Claudia Nogueira

É muito estranho dar esse problema no firebird trabalhando com transação. Pois dessa forma se estiver editando em duas máquinas ao mesmo tempo um registro, as duas alterações são realizadas, isso se não bloquear o registro. Isso ocorre aleatoriamente em todo o sistema, ou na gravação de alguma tabela específica?
Quais componentes de conexão com o banco de dados você está utilizando?
Responder

Gostei + 0

30/10/2012

Fernando

O erro é sempre na mesma tabela (tabela de movimentação de estoque), que é a mais usada no sistema.
Ela tem como chave primária um sequencial (generator + trigger).

A gravação (DBExpress - delphi 7) é feita via stored procedure SQLStoredProc. O interessante é que não são todos os clientes que ocorrem isso... tem até cliente que usa intensamente o sistema e não ocorre deadlock.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar