PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Erro ao executar comando no Backup #411224

05/01/2012

0

Pessoal...

Estou com um problema na minha rotina de Backup do banco Interbase.
O código que estou utilizando é o seguinte:

function TfrmBackup.RealizaBackup_Completo: Boolean;
var
  caminho_Bkp: string;
begin
  Result := False;
  if OpenDialog1.Execute then
  begin
    try
      edtInfoArquivo.Clear;
      Result := True;
      Screen.Cursor := crHourGlass;
      caminho_Bkp := ExtractFilePath(OpenDialog1.FileName);
      IBBackupService1.ServerName := Dados.Servidor;
      IBBackupService1.Protocol := TCP;
      IBBackupService1.LoginPrompt := False;
      IBBackupService1.Params.Add(user_name=SYSDBA);
      IBBackupService1.Params.Add(password=masterkey);
      IBBackupService1.Options := [IgnoreLimbo,NoGarbageCollection,NonTransportable];
      IBBackupService1.Verbose := True;
      IBBackupService1.DatabaseName := OpenDialog1.FileName;
      IBBackupService1.BackupFile.Clear;
      IBBackupService1.BackupFile.Add(ChangeFileExt(caminho_Bkp + Backup_ +
             FormatDateTime(yyyymmddhhnn, Now), .gbk));
      try
        IBBackupService1.Active := True;
        edtInfoArquivo.Lines.Add(Criado em: );
        edtInfoArquivo.SelAttributes.Color := clBlack;
        edtInfoArquivo.SelAttributes.Style := [fsBold];
        edtInfoArquivo.Lines.Add(    + caminho_Bkp);
        edtInfoArquivo.Lines.Add(com nome:);
        edtInfoArquivo.SelAttributes.Color := clBlue;
        edtInfoArquivo.SelAttributes.Size := 14;
        edtInfoArquivo.Lines.Add(ExtractFileName(Trim(IBBackupService1.BackupFile.Text)));
        edtInfoArquivo.Lines.Add(Formato do nome do arquivo: Backup_AnoMesDiaHoraMinuto);
        edtInfoArquivo.SelAttributes.Color := clGreen;
        edtInfoArquivo.SelAttributes.Size := 12;
        edtInfoArquivo.Lines.Add(Format(Iniciado   às %s h, [FormatDateTime(hh:nn:ss, Now)]));
        IBBackupService1.ServiceStart;
        mmoEstrutura.Lines.Clear;
        while not IBBackupService1.Eof do
          mmoEstrutura.Lines.Add(IBBackupService1.GetNextLine);
        edtInfoArquivo.SelAttributes.Color := clGreen;
        edtInfoArquivo.SelAttributes.Size := 12;
        edtInfoArquivo.Lines.Add(Format(Finalizado às %s h, [FormatDateTime(hh:nn:ss, Now)]));
      except
        Result := False;
        edtInfoArquivo.SelAttributes.Color := clRed;
        edtInfoArquivo.SelAttributes.Size := 12;
        edtInfoArquivo.Lines.Add(Problemas na realização do backup);
      end;
    finally
      IBBackupService1.Active := False;
      Screen.Cursor := crDefault;
    end;
  end;
end;


E a linha que está dando o erro é:

       mmoEstrutura.Lines.Add(IBBackupService1.GetNextLine);


Alguém pode me ajudar a solucionar este problema?
Estou utilizando Delphi 7 e BD Interbase.

Abraço...
Marcos Gandin

Marcos Gandin

Responder

Posts

05/01/2012

Marcos Gandin

Pessoal, o que está acontecendo é o seguinte:

Eu comentei as linhas do
try... except... end
para ver o erro sem estar tratado, e o que me retornou foi o seguinte:


I/O error for file C:\Sistema\Banco\banco.fdb
Error while trying to open file
O sistema não pode encontrar o caminho especificado.


Então eu copiei o arquivo do banco para a raíz (C:\) e o sistema até que fez os procedimentos corretamente, mas ficou faltando ele gerar o arquivo de backup conforme eu declarei na linha

BackupFile.Add(ChangeFileExt(caminho_Bkp + Backup_ +
               FormatDateTime(yyyymmddhhnn, Now), .gbk));


O eu tenho que fazer pra resolver estes problemas?
Responder

Gostei + 0

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

Aceitar