Fórum EIBInterBaseError with message ´message length error #353628
14/02/2008
0
--------------------------- 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
Curtir tópico
+ 0Posts
14/02/2008
Jpauloss
Gostei + 0
14/02/2008
Jpauloss
Gostei + 0
15/02/2008
Jpauloss
Gostei + 0
15/02/2008
Jpauloss
Gostei + 0
15/02/2008
Jpauloss
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)