ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Restauração com IBRestorService

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
digitalcasssiano
Novato
Novato


Registrado: Quinta-Feira, 28 de Abril de 2011
Mensagens: 56

MensagemEnviada: Sex Dez 11, 2015 4:25 pm    Assunto: Restauração com IBRestorService Responder com Citação

Olá pessoal.

Estou utilizando os componentes
IBBACKUPSERVICE E IBRESTORESERVICE.


O backup é feito sem erros, e a
restauração também. O problema é
que, após a restauração, todos os campos ficam
como NULL, inclusive os que eram como NOT NULL.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Sáb Dez 12, 2015 1:48 pm    Assunto: Responder com Citação

qual codigo vc usa para executar os controles de backup e restore ?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
digitalcasssiano
Novato
Novato


Registrado: Quinta-Feira, 28 de Abril de 2011
Mensagens: 56

MensagemEnviada: Ter Dez 15, 2015 12:05 pm    Assunto: Responder com Citação

anderbelluno escreveu:
qual codigo vc usa para executar os controles de backup e restore ?


anderbelluno, desculpe pela demora da reposta. Estive viajando...

o código do backup:

Código:

  with frmBackup.IBBackupService1 do
  begin
   Params.Clear;
   BackupFile.Clear;
   ServerName := phost;
   LoginPrompt := False;
   Params.Add('user_name=' + puser);
   Params.Add('password=' + pkey);
   Active := True;
   try
    Verbose := True;
    Options := [IgnoreLimbo, NoGarbageCollection, NonTransportable];
    DatabaseName := PathBanco;
    BackupFile.Add(frmBackup.edtLocalBackup.Text + '\' + NomeArquivoBackup);
    ServiceStart;
    frmBackup.mmo1.Clear;
    while not Eof do
    frmBackup.mmo1.Lines.Add(GetNextLine);
   finally
    Active := False;
   end;


e da restauração:
Citação:

with frmRestore.IBRestoreService1 do
begin
Params.Clear;
BackupFile.Clear;
ServerName := phost;
LoginPrompt := False;
Params.Add('user_name=' + puser);
Params.Add('password=' + pkey);
Active := True;
try
Verbose := True;
Options := [Replace, NoValidityCheck];
PageBuffers := 3000;
PageSize := 2048;
DatabaseName.Add(NomeArquivoBanco);
BackupFile.Add(PathArquivo);
ServiceStart;
frmRestore.mmo1.Clear;
while not Eof do
frmRestore.mmo1.Lines.Add(GetNextLine);
finally
Active := False;
end;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Qua Dez 16, 2015 9:40 am    Assunto: Responder com Citação

Opa,
tbm estou em viajem e estou sem meu pc aqui, mas olhando assim parece estar certo seu código.
assim q puder verificar dou um retorno, blz.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
anderbelluno
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Novembro de 2011
Mensagens: 1030
Localização: Cianorte-PR

MensagemEnviada: Seg Jan 11, 2016 6:25 pm    Assunto: Responder com Citação

E ai amigo blz?
voltei aqui pra te ajudar
eu uso fazer o bkp assim
Código:

begin
 with ibBackup do
     begin
        Active := false;
        ServerName := 'LocalHost';
        Protocol := Local;
        LoginPrompt := False;
        Params.Clear;
        Params.Add('user_name=' + puser);
        Params.Add('password=' + pkey);
        try
          Active := True;
        except
          on E: Exception do
          begin
            MessageDlg('Erro ao executar backup.' + #13 +
                     'Erro: ' + E.Message, mtError, [mbok], 0);
            Screen.Cursor := crDefault;
          end;
        end;

        Try
          Verbose := True;
          Options := [NonTransportable];
          DatabaseName := PathBanco ;
          BackupFile.Clear;

 BackupFile.Add( frmBackup.edtLocalBackup.Text + '\' + NomeArquivoBackup + '.fbk');
          ServiceStart;
          frmBackup.mmo1.Clear;
          while not eof do
          begin
             frmBackup.mmo1.Lines.Add(GetNextLine);      Application.ProcessMessages;
          end;
               except
          on E: Exception do
          begin
             MessageDlg('Erro ao tentar fazer backup' + #13 +
              'Erro: ' + e.message, mtError, [mbok],0) ;
          end;
       end;
   end;
end;


e para restaurar:
Código:

   begin
      try
        frmBackup.mmo1.Lines.Add('Restaurando Base ');
        frmBackup.mmo1.Lines.Add('Horário Inicial: ' + FormatDateTime('HH:nn:ss', Now ));

        with ibRestore do
        begin
          ibRestore.Active := false;
          LoginPrompt := False;
          Params.Clear;
          Params.Add('user_name=' + puser);
          Params.Add('password=' + pkey);
          try
            Active := True;
          except
            on E: Exception do begin
              MessageDlg('Erro ao executar backup.' + #13 +
                       'Erro: ' + E.Message, mtError, [mbok], 0);
              Screen.Cursor := crDefault;
            end;
          end;

           Verbose := True;
           Options := [Replace, UseAllSpace];
           databasename.add(NomeArquivoBanco.fdb');
           BackupFile.Clear;
           backupfile.add( PathArquivo );
           active := true;
           servicestart;
           while not Eof do begin
             frmBackup.mmo1.Lines.Add( GetNextLine );
             Application.ProcessMessages;
           end;
        end;

        frmBackup.mmo1.Lines.Add('Término da restauração da Base ');
       frmBackup.mmo1.Lines.Add('Horário Final: ' + FormatDateTime('HH:nn:ss', Now ));
      except
       frmBackup.mmo1.Lines.Add('');
       frmBackup.mmo1.Lines.Add('Erro na restauração da Base');
      end;
   end;


veja ai se funciona.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB