Ir ao conteúdo
  • Cadastre-se

Backup/Restore banco de dados


mm_edilson

Posts recomendados

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!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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/

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...