|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
|