Erro quot;Too Many record locks on tablequot; no BDE

Delphi

06/11/2007

Boa tarde,

Após muitos anos usando Paradox/BDE me deparei com o seguinte erro:

´Too many record locks on table´

Este erro acontece toda vez que tento salvar um novo registro.

Já fiz todas as configurações de rede(Session, Priv Dir, Net Dir) e tudo funciona perfeitamente com 3 maquinas.
Também já descobri que este erro se relaciona ao fato de que o BDE só permite 255 locks por tabela.

Mas o meu problema é saber como posso limpar os locks das tabelas e se possível em runtime.
Já procurei por todos os cantos da Internet e todo mundo fala do erro mas ninguém dá a solução clara para o problema.

Alguém já passou por isto e saberia me dizer a solução ?

Infelizmente não poderei migrar este sistema para Firebird.

Antecipadamente , obrigado por qualquer ajuda recebida.

Um abraço a todos.

dli


Dli

Dli

Curtidas 0

Respostas

Joaoshi

Joaoshi

06/11/2007

Colega, tive alguns problemas parecidos, no meu caso o arquivo
PARADOX.LCK estava muito grande (tipo 12 mb).

Parei o sistema e deletei o PARADOX.LCK, PDOXUSRS.LCK e PDOXUSRS.NET.

Uma causa do problema pode ser o uso de tranzações pelo BDE.


Espero ter ajudado.


GOSTEI 0
Dli

Dli

06/11/2007

Joao,

Obrigado por sua resposta.

Já apaguei o todos estes arquivos varias vezes e tudo continua igual. Com certeza o problema está ligado ao numero de transações. Mas continuo com a dúvida:

Como limpar o estas transações do arquivo de lock de transações?

dli


GOSTEI 0
Dli

Dli

06/11/2007

Boa tarde,

Talvez alguem saiba se o BDE cria alguma tabela para armazenar os locks automaticamente?

dli


GOSTEI 0
Gandalf.nho

Gandalf.nho

06/11/2007

Não sei qual a estrutura desses arquivos, mas os arquivos criados são aqueles .LCK que o colega acima citou. Você pode tentar criar algo que os exclua periodicamente (estando fora do sistema).


GOSTEI 0
Jujan

Jujan

06/11/2007

Cara pense na hipótese de mudar o objeto de conexão, pois utulizo BDE e estou tendo problemas que já desisti de consertar e vou reescrever é melhor.


GOSTEI 0
POSTAR