Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Robert F Quellis aka Gyver

Tratamento de Erro

Recommended Posts

Ola,

 

Tenho em um sistema, um módulo para tratar os erros e uma função para gerar um log dos erros.

Gostaria de saber no caso do erro:

 

3189 Table "name" is exclusively locked by user "name" on machine "name".

 

Como posso descobrir o nome da tabela e o nome do usuário que está lockando a mesma?

 

 

Sistema em Visual Basic 6 e banco de dados em Access.

 

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nunca recebi esse erro.

 

Mas faz o seguinte, poste a parte do seu código que está recebendo esse erro e a linha exata que trava.

 

Quem sabe não surge alguma idéia...

 

Abraço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

Não existe um código específico onde ocorre esse erro.

O que acontece é o seguinte:

Tenho um banco de dados que está no servidor, e vários sistemas utilizam o mesmo banco de dados para efetuar operações.

Vamos dizer que no mesmo instante que uma pessoa no micro1, executa uma função que abre o banco de dados para incluir ou alterar algum dado, uma pessoa no micro2 executa uma outra função que tenta executar a mesma coisa, ai vai dar esse tipo de erro.

Entenderam?

O erro teria que me retornar o banco de dados que está aberto e qual usuário e máquina que está utilizando o mesmo.

 

 

Obrigado

 

Inté!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,

Não existe um código específico onde ocorre esse erro.

O que acontece é o seguinte:

Tenho um banco de dados que está no servidor, e vários sistemas utilizam o mesmo banco de dados para efetuar operações.

Vamos dizer que no mesmo instante que uma pessoa no micro1, executa uma função que abre o banco de dados para incluir ou alterar algum dado, uma pessoa no micro2 executa uma outra função que tenta executar a mesma coisa, ai vai dar esse tipo de erro.

Entenderam?

O erro teria que me retornar o banco de dados que está aberto e qual usuário e máquina que está utilizando o mesmo.

 

 

Obrigado

 

Inté!

Como está fazendo seu tratamento de erro? Você indica a função ou sub que está ocorrendo?

 

Se indica, através dela não tem como saber que banco está aberto? Se ainda sim não tiver, acho que o pode fazer, é criar para mais eventos no programa, e não somente para os erros.

 

Por exemplo. Quando abrir uma tabela, escrever no log: Tabela [nome_tabela] aberta pelo usuario [nome_usuario].

 

Assim você sempre saberá quem abriu cada tabela, ou pelo menos tentou, e poderá pegar qual dá erro.

 

Bom, é uma dica, mas alguém saiba alguma outra forma...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.