Restore da base de dados com Delphi e FireDac
Autor: ClipaTec Informática | Publicado: 2016-10-19T12:30:00-02:00






Olá clipatequeiros. Há uns dias atrás publicamos um artigo onde montamos um aplicativo básico de backup, usando componentes da paleta "FireDac" e banco "FireBird".

Recebemos alguns feedbacks pedindo para criarmos um artigo ensinando o restore do banco. Então, resolvemos atender a estes pedidos e aqui estamos.

A restauração da base de dados é muito simples, da mesma forma que o backup também é. Neste exemplo vamos pegar o arquivo de backup gerado "fbk" e restaurá-lo para um arquivo "fdb", isto é, o banco montado em si com todas os dados.

Então, crie um novo projeto em Delphi e adicione os componentes FDIBRestore, FDPhysFBDriverLink, FDGUIxWaitCursor, Memo (name = mmoProgresso) e dois Button (name btnIniciar, btnFechar).

Selecione o componente&nbsp;FDIBRestore&nbsp;e ligue na propriedade "DriverLink" o componente FDPhysFBDriverLink.

Monte um layout parecido com este na imagem abaixo:







Repare que é idêntico ao layout que montamos no aplicativo de backup. Apenas algumas alterações foram feitas.

Vamos declarar nossos métodos, para isso, vá até a seção&nbsp;"Private" do formulário e declare:







Pressione as teclas "Shift+Ctrl+C" para iniciarmos a implementação dos métodos. O método&nbsp;"HabilitarBotoes" será implementado da seguinte maneira:







Ele será responsável por habilitar e desabilitar os botões conforme necessitamos.

Agora, implemente o método "GerarRestore" da seguinte maneira:







Note que toda implementação está dentro&nbsp;de um bloco de tratamento (try...except), para tratarmos os possíveis erros. Claro que por este exemplo ser algo simples o tratamento será apenas imprimir uma mensagem para o usuário, para informá-lo.

Não vamos detalhar as explicações das implementações, porque é exatamente igual nosso tutorial sobre o backup, apenas foi alterado algumas linhas de código. Caso tenha dúvida, leia nosso artigo sobre backup com FireDac, ou deixe seu comentário que ajudaremos.

Na imagem está bem explicado cada linha, no final do artigo você encontra para download o fonte deste projeto.

Ao chamar o método "Restore", o processo de restauração da base de dados será iniciado, da mesma forma que fizemos com o backup, é legal acompanharmos todo esse processo, então vamos implementar o evento do componente "FDIBRestore".

Antes, selecione o componente "memo" e altere a propriedade "ScrollBars" para "ssVertical".

Agora sim, vá até o evento "OnProgress" do componente "FDIBRestore" e faça a seguinte implementação:







OK, agora conseguiremos visualizar todo o processo realizado pelo banco de dados FireBird.

Finalizando, vamos chamar os métodos nos botões, então, de um duplo clique sobre o botão "Iniciar" e chame o método "GerarRestore":







Agora, no botão "Fechar", chame o comando "Close":







Muito bem, chagamos ao fim de mais um artigo, se você quiser, pode estudar a possibilidade de colocar uma barra de progresso, caso não queira o processo no "memo".

Não é legal usar os dois, porque ficaria um tanto redundante. Desta forma que fizemos, mostrando no "memo", a dica que damos é no início do processo,&nbsp;adicionar uma linha ao "memo" informando que o processo de restore está sendo iniciando, e no final, outra linha informando que o restore foi concluído.&nbsp;Alguma dúvida? Posta ai. Um forte abraço e até o próximo.



Download



- Download do código fonte do projeto;&nbsp;





(Por ClipaTec Informática)