Fórum Rotina de Backup e Restore de Banco de Dados Firebird #7707

17/07/2009

0

Prezado Consultor,                        O meu projeto está precisando de uma Rotina de Backup e outra de Restore, que será acionada pelo usuário ao término de um dia de trabalho. Já tentei algumas que peguei na internet, mas não funcionam totalmente.  Voce poderia me enviar alguma rotina correta, pois o banco precisa ser guardado com segurança.                         Estou usando Delphi 2006 e Banco de Dados Firebird 1.5.                         Obrigado.                          Atenciosamente,                                           Pedro da Conceição                       
Pedro Conceição

Pedro Conceição

Responder

Posts

20/07/2009

Devmedia

Pedro,
o suporte Devmedia não desenvolve pedaços de código e sim ajuda aos seus clientes a resolver um problema.
Nesse seu caso especificamente, a solução seria vc nos mostrar uma dessas rotinas e o consultor lhe ajudará tirando suas dúvidas, ok.
Responder

Gostei + 0

22/07/2009

Devmedia

Pedro,
podemos cancelar esse chamado?
Responder

Gostei + 0

22/07/2009

Pedro Conceição

Prezado Consultor,               Como posso enviar a minha rotina para que voce analise?                Para não mandar todo o projeto, preparei uma pasta zipada em cd, para poder enviar. Estou trabalhando em um cybercafe, pois estou sem internet na minha casa temporiariamente.                Por favor me ajude.                Obrigado.                Atenciosamente,                              Pedro
Responder

Gostei + 0

22/07/2009

Wesley Yamazack

Olá Pedro,
  Você tem acesso ao disco virtual, lá você pode adicionar seus projetos, ou arquivos.
  Qual motivo as rotinas que você pegou, não funionam? Qual erro ? Qual é a necessidade, que você tem que estas não te atendem ?
  Fico no aguardo.

Att,

Wesley Y
Responder

Gostei + 0

22/07/2009

Devmedia

Pedro,
na home do suporte, do lado esqerdo da tela, existe a opção "meu disco virtual". Funciona como os demais discos virtuais. A única restrição é que os arquivos upados devem estar no formato .zip ou .rar.
Caso tenha alguma dúvida, vc pode assistir ao video explicativo, q tem o seu link ao lado da opção do disco virtual.
Lembrando que: após upar o arquivo, vc deve copiar o caminho completo e enviar ao consultor, pois ele NÃO TEM ACESSO AO SEU DISCO VIRTUAL.
Responder

Gostei + 0

23/07/2009

Pedro Conceição

Prezado Consultor,               Obrigado.                Estou enviando a Pasta do meu projeto e a pasta onde esta o meu banco de dados.                O arquivo do meu banco é Secretaria.FDB.                Mais uma vez obrigado.                O  Caminho é o seguinte:               'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor'                 Atenciosamente,                       Pedro
Responder

Gostei + 0

23/07/2009

Devmedia

Pedro,
o link q vc mandou é do seu disco virtual. precisamos do link do arquivo dentro do seu disco virtual, ou seja, o final do link deve ser o nome do arquivo.extensão (zip ou rar). Por favor, nos mande o link completo para que possamos lhe ajudar.
Responder

Gostei + 0

23/07/2009

Pedro Conceição

Prezado Consultor,             O link completo é:           'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor\ProjetoBAckupRestore.zip'             O meu Banco de Dados está em:           'https://www.devmedia.com.br/discovirtual/default.asp?f=\PedroVencedor\BancodeDadosdaSecretaria.zip'             Obrigado.             Atenciosamente,                           Pedro 
Responder

Gostei + 0

24/07/2009

Wesley Yamazack

Olá meu caro,
  Peço que espere um pouco, pois isso irá dar um pouco de trabalho, você tem noção da complexibilidade, certo ?
  Grato pela compreensão.


Att,

Wesley Y
Responder

Gostei + 0

28/07/2009

Devmedia

Pedro,
os links passados não estão corretos.
Para facilitar os nossos cliente, agora, ao lado de cada arquivo upado, vc encontra o caminho ao lado do mesmo, por isso, copie o caminho dos arquivos e passe-os para o consultor, ok.
Responder

Gostei + 0

30/07/2009

Devmedia

Pedro,
o consultor está esperando os links corretos para que ele possa baixar os arquivos e lhe ajudar com as respostas.
No aguardo.
Responder

Gostei + 0

31/07/2009

Pedro Conceição

Prezado Wesley,                 O link e:  http://video.devmedia.com.br/discovirtual/194223/ProjetoBackupRestore.zip                    Atenciosamente,                                Pedro
Responder

Gostei + 0

31/07/2009

Pedro Conceição

  Prezado Wesley,              Eu passei o link do projeto.              Agora o link do Banco de Dados é:   http://video.devmedia.com.br/discovirtual/194223/BancodeDadosdaSecretaria.zip               Atenciosamene,                             Pedro
Responder

Gostei + 0

31/07/2009

Wesley Yamazack

Olá meu caro, vamos ver teu projeto e logo retornaremos.

Att

Wesley Y
Responder

Gostei + 0

04/08/2009

Wesley Yamazack

Olá meu amigo.
  Segue rotina desenvolvida de backup/Restore

//Backup
procedure TBackupRestoreFrm.BBackupClick(Sender: TObject);
var Mensagem,VData,VCAMINHO_ZIP:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
  begin
    MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
  end
else
  begin
    Mensagem := 'Erro durante o Backup';
    BBackup.Enabled:=false;
      with IbBackup do
        Begin
          ServerName:= BackupServerName.text;
          DataBaseName:= EDDatabasename.text;
          Params.Add('user_name=sysdba');
          Params.Add('password=masterkey');

          Active:=true;
          Try
           Verbose:= True;
           Options:= [];
           BackupFile.Clear;
           BackupFile.Add(destbackup.TEXT);//('ALMOX.GBK');
           memo.lines.Clear;

           try
             ServiceStart;
             While not eof do
               Begin
                 Memo.lines.add(GetNextLine);
               end;
           except
             Memo.lines.add('********************************');
             Memo.lines.add('Erro no Backup');
             Memo.lines.add('********************************');
             VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
             memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
             Application.Terminate;
           end;

           VData:= inttostr(DayOf(Date()))+ '_'+ inttostr(MonthOf(Date())) + '_'+inttostr(YearOf(Date()));
           Memo.lines.add('********************************');
           Memo.lines.add('Backup bem sucedido');
           Memo.lines.add('Log de Execução: '+ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
           Memo.lines.add('********************************');

           VCAMINHO_ZIP:=Copy(destbackup.Text,0,length(destbackup.text)-4);
           VCAMINHO_ZIP:=VCAMINHO_ZIP+'_'+VData+'.ZIP';
           ZipMaster.ZipFileName:=VCAMINHO_ZIP;
           ZipMaster.FSpecArgs.Clear;
           ZipMaster.FSpecArgs.Add(destbackup.Text);
           Memo.lines.add('');
           Memo.lines.add('********************************');
           Memo.lines.add('Gerando Arquivo Zipado: '+VCAMINHO_ZIP);
           Memo.lines.add('********************************');
           ZipMaster.ADD;
           Memo.lines.add('');
           try
             memo.Lines.SaveToFile(ExtractFilePath(ParamStr(0))+'Backup'+VData+'.txt');
             Memo.lines.add('********************************');
             Memo.lines.add('Arquivo Zipado Gerado');
             Memo.lines.add('********************************');
           except
             Memo.lines.add('********************************');
             Memo.lines.add('Erro na criação do arquivo Zipado Gerado');
             Memo.lines.add('********************************');
           end;
          
           If not (UpperCase(ParamStr(1)) = '/AUTO') Then
              Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION)
           else
           BEGIN
              Application.Terminate;
           END;
           Mensagem:= 'Realizado Com Sucesso ';
           BBackup.Enabled:=true;
            Finally
             begin
            
             end;
            end;
       end;
  end;
end;

//Restore

procedure TBackupRestoreFrm.BRestoreClick(Sender: TObject);
var Mensagem:String;
begin
if ((BackupServerName.text='') or (EdDataBaseName.text='') or (destbackup.text='')) then
  begin
    MessageDlg('Preencha os campos requeridos!',mtInformation,[mbOK],0);
  end
else
  begin
    Mensagem := 'Erro durante o Restore';
    BBackup.Enabled:=false;
      with IBRestore do
        Begin
          ServerName:= BackupServerName.text;
          DataBaseName.Add(destbackup.TEXT);
          Params.Add('user_name=sysdba');
          Params.Add('password=masterkey');

          Active:=true;
          Try
           Verbose:= True;
           Options:= [NoShadow,NoValidityCheck,CreateNewDB];
           PageSize:=8192;
           BackupFile.Clear;
           BackupFile.Add(EDDatabasename.text);//('ALMOX.GBK');
           memo.lines.Clear;
           ServiceStart;
           While not eof do
             Begin
               Memo.lines.add(GetNextLine);
             end;


           Application.messagebox('Backup Executado Com Sucesso !!!','Aviso',MB_ICONINFORMATION);
           Mensagem:= 'Realizado Com Sucesso ';
           BBackup.Enabled:=true;
            Finally
             begin

              end;
            end;
       end;
  end;

end;

    Adpte o exemplo a sua necessidade.

Um abraço

Wesley Y
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar