GARANTIR DESCONTO

Fórum EIBInterBaseError with message ´message length error #353628

14/02/2008

0

Tô com esse erro em função de backup que peguei no site da devmedia
---------------------------
Debugger Exception Notification
---------------------------
Project MATERIAIS.exe raised exception class EIBInterBaseError with message ´message length error (encountered 96, expected 92)
 gds_$receive failed´. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------

O código é esse
procedure TF_GerarBackup.BTGeraBackClick(Sender: TObject);
begin
  try
    if not SDArquBack.Execute then//se o usuário não informar onde será salvo o arquivo de backup
      Exit;                       //cancela o procedimento
    Memo1.Clear;
    BTGeraBack.Enabled:=False;
    Memo1.Lines.Add(´Preparando para gerar o backup...´);
    Memo1.Lines.Add(´´);

    with IBBackupService1 do
    begin
      DM.Conexao.Connected:=False;//desconecta da base de dados
      DatabaseName:=f_backup_restore.EBase.Text;//caminho da base de dados
      ServerName:=f_backup_restore.EServ.Text;//nome do servidor
      BackupFile.Clear;
      BackupFile.Add(SDArquBack.FileName);//adiciona o caminho do arquivo de backup escolhido pelo usuário
      Protocol:=TCP;//protocolo de conexão
      Params.Clear;
      Params.Add(´user_name=SYSDBA´);//nome de usuário
      Params.Add(´password=masterkey´);//senha do usuário

      Options:=[];//limpa a propriedade option
      {o bloco de if abaixo esta adicionando as opções de restauração de acordo com o que o usuário escolheu.
      Após esta listagem você encontra um link para um outro artigo onde você encontra mais informações
      sobre essas e outras opções de restauração}
      if CBIgnoChec.Checked then
        Options:=Options+[IgnoreChecksums];
      if CBIgnoLimb.Checked then
        Options:=Options+[IgnoreLimbo];
      if not CBRecoLixo.Checked then
        Options:=Options+[NoGarbageCollection];
      if not CBTran.Checked then
        Options:=Options+[NonTransportable];

      {a propriedade verbose do TIBBackupService especifica
      se durante o processo de backup será retornado para a
      aplicação o detalhamento da execução}
      Verbose:=CBDetalhes.Checked;

      Memo1.Lines.Add(´  Ignorar checksum: ´+BoolToStr(CBIgnoChec.Checked));
      Memo1.Lines.Add(´  Ignorar transações em limbo: ´+BoolToStr(CBIgnoLimb.Checked));
      Memo1.Lines.Add(´  Coletar lixo: ´+BoolToStr(CBRecoLixo.Checked));
      Memo1.Lines.Add(´  Formato transportável: ´+BoolToStr(CBTran.Checked));
      Memo1.Lines.Add(´  Verbose: ´+BoolToStr(CBTran.Checked));
      Memo1.Lines.Add(´  Nome do servidor: ´+ServerName);
      Memo1.Lines.Add(´´);
      Active:=True;//ativa o serviço de backup, mais ainda não inicia.
      Memo1.Lines.Add(´´);
      Memo1.Lines.Add(´/***INICIO***\´);
      Application.ProcessMessages;
      Memo1.Lines.Add(´´);
      try
        ServiceStart;//inicia o processo de backup
        while not Eof do
        begin
          {conforme o backup vai sendo executado o nos podemos pegar os detalhes da sua execução
          através da função GetNextLine}
          Memo1.Lines.Add(GetNextLine);
        end;
      finally
      end;
      Active:=False;//desativa o serviço de backup
      Memo1.Lines.Add(´´);
      Memo1.Lines.Add(´/****FIM****\´);
    end;
    Memo1.Lines.Add(´´); Memo1.Lines.Add(´´);
    Memo1.Lines.Add(´Backup concluído.´);
    DM.Conexao.Connected:=True;//conecta o sistema na base de dados
    BTGeraBack.Enabled:=True;
  except
    on E: Exception do
    begin
      Memo1.Lines.Add(´Ocorreu um erro inesperado. O backup não foi concluído.´);
      Memo1.Lines.Add(´Informações da exceção:´);
      Memo1.Lines.Add(´  ´+E.Message);
      DM.Conexao.Connected:=True;//conecta o sistema na base de dados
      BTGeraBack.Enabled:=True;
    end;
  end;
end;

Debuguei e o erro da quando está preenchendo as linhas do memo
      try
        ServiceStart;//inicia o processo de backup
        while not Eof do
        begin
          {conforme o backup vai sendo executado o nos podemos pegar os detalhes da sua execução
          através da função GetNextLine}
          Memo1.Lines.Add(GetNextLine);
        end;

Que faço?
Que erro é esse?
Por onde começo?


Jpauloss

Jpauloss

Responder

Posts

14/02/2008

Jpauloss

up


Responder

Gostei + 0

14/02/2008

Jpauloss

alguem?


Responder

Gostei + 0

15/02/2008

Jpauloss

sobe + uma vez


Responder

Gostei + 0

15/02/2008

Jpauloss

sobe


Responder

Gostei + 0

15/02/2008

Jpauloss

sobe


Responder

Gostei + 0

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

Aceitar