Microsoft Access - Recuperando um Database corrompido
Neste artigo vou dar algumas instruções e dicas para recuperar um banco de dados Microsoft Access que foi corrompido. (fica por sua conta e risco seguir as instruções). |
Eu já publiquei um artigo sobre esse assunto a muuuuuito tempo atrás (veja as referências...) e estou atualizando algumas informações. O objetivo é ajudar.
Não vou entrar no mérito se você deve ou não usar o Microsoft Access. Se você esta usando é porque tem um motivo para isso e sabe bem das limitações do Access.
Agora
tenha em mente que como o banco de dados do Access é um único arquivo
mdb/accdb, você pode perder tudo se ele ficar corrompido. Essa é uma
ocorrência rara se o banco de dados estiver sendo executado em uma rede local
confiável (ou em um único computador) e os objetos do banco de dados não
estiverem sendo modificados.
A corrupção é muito mais provável durante o desenvolvimento, quando formulários
e relatórios são criados e modificados, e o código está sendo gravado e depurado
ou quando ele esta sendo usado para uma tarefa para a qual não foi criado, como
acesso multiusuário intenso.
A maneira mais fácil de corromper um banco de dados Access é interromper uma operação de gravação, embora nas versões mais recentes isso não é tão simples assim.(melhorou um pouco...)
Então vamos ao que interessa...
Tentando recuperar um banco de dados MS Access corrompido
Existem muitas causas para corrupção do Access e de etapas de recuperação para sintomas específicos, mas aqui está uma seqüência padrão que lida com as formas mais comuns de corrupção em um banco de dados do Access.
Sequência de recuperação: (vou deixar as opções em português)
1- Backup
Faça uma cópia de backup do banco de dados inválido, sem sobrescrever nenhum backup existente.
O que quer que tenha ocorrido de mal, você não quer piorar a situação, e um backup oferece várias tentativas de recuperação. |
2- Desmarque as caixas AutoCorrect
No
Access 2007: Botão do Office | Opções de acesso | Banco de dados atual. Nas versões anteriores: Ferramentas | Opções | Geral. |
3- Compactar o banco de dados
No
Access 2010: Compactar e reparar banco de dados na faixa de ferramentas de banco de dados. No Access 2007: Botão do Office | Gerenciar | Compactar / Reparar. Nas versões anteriores: Ferramentas | Utilitários de banco de dados | Compactar / Reparar. |
4- Decompilar o banco de dados
Feche o
Access e digite no prompt de comando:
"C:\Arquivos de Programas\ Microsoft office \office\msaccess.exe" /decompile "c: \Seu_caminho\Seu_BancodeDados.mdb" |
5- Compactar novamente
Abra o Access
(mantendo pressionada a tecla Shift, se você tiver qualquer código de inicialização), e compacte novamente. Faça isso duas vezes: um compactação não funciona em todas as versões (a menos que você feche o Access entre as etapas 4 e 5.) |
6- Defina as referências mínimas
Abra uma janela de código. Escolha as referências no menu Ferramentas. Desmarque todas as referências que você não precisa usar. |
7- Compilar
Ainda na janela de código, escolha a opção
Compilar no menu Debug. Corrija qualquer erro e repita até que o código seja compilado corretamente. |
8- Defina as opções de código
Ainda na janela de código, escolha Opções no menu Ferramentas. Na guia Geral, verifique se a opção Interceptação de erro está definida como "Interromper erros não tratados" e se a opção Compilar sob demanda está desmarcada. |
Se você
chegou até aqui, neste ponto, você deve ter um banco de dados
onde, pelo menos na teoria:
Os erros de
AutoCorreção de nome desapareceram,
Os índices estão reparados,
As inconsistências entre o texto e as
versões compiladas do código foram corrigidas,
As ambigüidades de referência estão
resolvidas,
A sintaxe do código agora é compilável
e
As opções do VBA estão definidas para
mostrar erros e evitar esse tipo de corrupção.
Se você ainda estiver com problemas , tente usar o recurso não documentado : SaveAsText/LoadFromText (*)
(*) Nota: Essa é uma técnica não documentada que pode resgatar um formulário ou relatório incorreto exportando-o para um arquivo de texto e instruindo o Access a recriá-lo a partir do arquivo de texto.
Espero que essas instruções possam te ajudar de alguma forma.
Se nada funcionou então talvez você tenha que recorrer a pessoal especializado nesse tipo de recuperação, e, preparar o bolso...
"E
disse-lhe um: Senhor, são poucos os que se salvam? E ele lhe respondeu:
Porfiai por entrar pela porta estreita; porque eu vos digo que muitos procurarão
entrar, e não poderão."
Lucas 13:23,24
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET