USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  BANCO DE DADOS DANIFICADO
LEONARDO
não registrado
Postada em 16/12/2004 18:10 hs   
Estou com um problemão...!!!
Não sei por que o banco de dados em ACCESS 97, quando tento abrir dá a seguinte mensagem: Formato de banco de dados 'C:SISTEMABANCO_DADOS.MDB' não reconhecido.
Faz tempo que trabalho com o ACCESS, alguns clientes possuem bancos com mais de 200000 registros e nunca tinha visto isso.
O que devo fazer? Por favor, me ajudem...!!!
 
Agradeço antecipadamente a atenção de todos.
     
Sandro
não registrado
Postada em 16/12/2004 23:59 hs   
Olá Leonardo,
 
O seu banco de dados foi corrompido, por uma falha na rede ou uma variação elétrica. Este tipo de erro é comum em bases que são acessadas intensamente em rede e de repente ocorre uma falta de energia ou um pico de energia. Quando a estação é desligada por queda de energia com o banco aberto, ou quando a energia não cai totalmente, mas ocorre uma baixa de energia, os sinais na rede podem ficar malucos, mandando muito lixo para dentro do banco de dados, o que pode ocasionar esse erro. Para resolver o problema, você deve usar o Access para reparar o banco de dados (Ferramentas - Utilitários de Bancos de Dados - Reparar Banco de Dados) ou usar o método RepairDatabase da DAO, para reparar via código.
Recomendo o uso de no-breaks nas máquinas que utilizem o seu sistema, pois a medida que o banco de dados cresce, fica mais vulnerável a problemas e mais difícil a reparação. Além disso, procure utilizar placas e equipamentos de rede de boa procedência (nada daquelas plaquinhas de rede compradas a quilo, nem hubs que parecem de brinquedo) e além de tudo isso, ofereça uma rotina de backup com reparação e compactação do banco de dados (CompactDatabase da DAO), de preferência zipando, no final o banco para um disquete), de forma que no caso de ser impossível a reparação, você possa restaurar o último backup para salvar a maioria dos dados.
Infelizmente não existe método 100% infalível para evitar esse erro, mas essas dicas servem para minimizar a possibilidade. Ah! outra coisa, assim que você fechar os seus recordsets, defina-os para nothing:
 
    MeuRecordset.Close
    Set MeuRecordset = Nothing
 
Isto serve para evitar que fique alguma referência a ele em memória e que possa desestabilizar o banco de dados.
 
um abraço,
Sandro.
 
     
LEONARDO
não registrado
Postada em 17/12/2004 11:52 hs   
Sandro, muito obrigado pelas dicas... Mas infelismente não deu certo.
Quando eu dou o comando para reparar o BANCO (Ferramentas - Utilitários de Bancos de Dados - Reparar Banco de Dados) ele dá a mesma mensagem Formato de banco de dados 'C:SISTEMABANCO_DADOS.MDB' não reconhecido.
Estou achando que não vou conseguir recuparar.
Mais alguma idéia, estou precisando.
Agradeço antecipadamente a atenção de todos.
 
Leonardo
     
Mateus
AMADORA
PT - PORTUGAL
Postada em 17/12/2004 12:36 hs            
Há alguma hipótese de o mdb ter sido convertido para uma versão posterior do access?
É que, se assim for, nem o ACCESS97 nem o Provedor utilizado no VB reconhecerão a base de dados como tal.
Se não, então tente abrir um novo mdb e importar para ele todas as tabelas do anterior. Depois atribua-lhe o mesmo nome.
Se mesmo isso não for possível, então só resta o recurso ao último backup(espero que haja um actualizado).
 

João Mateus

Se precisar de ajuda extra, visite:

http://joaomateus.planetaclix.pt

     
Sandro
não registrado
Postada em 18/12/2004 22:48 hs   
Olá Leonardo,
 
Se o Access não consegue reparar, você tem realmente um problemas, mas eu também já tive problemas deste tipo e em alguns casos pode ser reparado de duas formas:
1. Tente usar um utilitário de disco para verifica erros de alocação no disco (não use o ScanDisk, ele é uma porcaria, use o Norton Disk Doctor, ele é bem melhor). Em alguns casos, ocorre um erro de alocação em um cluster bem no meio do banco de dados, daí o Access não consegue corrigir, pois ele não reconhece erros de alocação, por isso use um utiliátio externo e depois tente reparar a base de dados;
 
2. Tente fazer a reparação pelo Access 2000 ou XP... é isso mesmo, finja que vai converter, o Access irá informar que o banco precisa ser reparado, mande reparar e depois cancele a opção de conversão, ou então deixe converter para outro banco e ignore.
 
Normalmente funciona, mas se ainda assim não funcionar, infelizmente você terá que restaurar algum backup mais antigo. Mas como o Access não falou nada sobre  a tabela MSysDatabases, que é "tabela das tabelas" do Access, eu acho que uma das opções acima podem te ajudar.
 
um abraço,
Sandro.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página