Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
mm_edilson

Backup/Restore banco de dados

Recommended Posts

Amigos, minha pequena aplicação de cadastro de membros ta quase pronta. To na fase do backup / restore. E to agarrado nisso, (aff, como é difícil vida de iniciante, rsrsrsrsrsrs).

Uso delphi 7 e banco de dados access, com adoquery e adoconnection.

Criei um item no menu (menu Backup, submenu FazerBackup) para fazer um backup do banco de dados, com o seguinte código:

procedure TPrincipal.FazerBackup1Click(Sender: TObject);

var

Origem, Destino: string;

begin

if MESSAGEBOX(Application.Handle, 'Deseja Fazer o Backup do Banco de Dados?', 'Por favor, confirme:', MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON2) = ID_YES then

Origem := 'C:\Rol de Membros\BDRMembros.mdb';

Destino := 'C:\Rol de Membros\BackupBDRMembros.mdb';

ShowMessage('Backup efetuado com sucesso.');

if not CopyFile(PChar(Origem), PChar(Destino), false) then

ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino);

end;

Beleza. funcionou.

Agora preciso codificar o submenu "RestaurarBackup".

Nesse comando quero que o arquivo "BackupBDRMembros.mdb" substitua o arquivo "BDRMembros.mdb" na pasta onde estão armazenados.

Meu raciocínio foi usar um deletefile para o banco de dados e em seguida um renamefile para o backup, porém não dá certo, pois o deletefile não será capaz de deletar o banco de dados atual, uma vez que o programa está aberto.

E ainda tem um outro problema, caso o usuário não tenha feito o backup antes de clicar em restaurar, o programa vai deletar o BDRMembros.mdb mas não terá um arquivo BackupBDRMembros.mdb para renomear, e todos os dados serão perdidos.

Portanto, por esse caminho do renamefile/deletefile acho que não vou conseguir. Alguém teria uma sugestão?

Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em vez de simplesmente fazer uma cópia do banco de dados, o mais interessante seria compactar o banco e guardar a cópia compactada, assim o backup ocupa menos espaço e a própria ferramenta de compressão já teria a opção para restaurar em cima do banco original. Eu tenho usado essa opção de componente freeware para isso: http://www.delphizip.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×