Erro de comprimento de mensagem
Galera estou com esse código para fazer backup
O erro ta dando nessa linha quando vai preenchendo as linhas.
O erro é esse [URL=http://img122.imageshack.us/my.php?image=imagemfk6.jpg][img:7d37b1538a]http://img122.imageshack.us/img122/8017/imagemfk6.th.jpg[/img:7d37b1538a][/URL]
Que faço?
Estou usando FB 2.0
O componente é o IBBackupService.
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
Log.Clear;
BTGeraBack.Enabled:=False;
Log.Items.Add(´Preparando para gerar o backup...´);
Log.Items.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;
Log.Items.Add(´ Ignorar checksum: ´+BoolToStr(CBIgnoChec.Checked));
Log.Items.Add(´ Ignorar transações em limbo: ´+BoolToStr(CBIgnoLimb.Checked));
Log.Items.Add(´ Coletar lixo: ´+BoolToStr(CBRecoLixo.Checked));
Log.Items.Add(´ Formato transportável: ´+BoolToStr(CBTran.Checked));
Log.Items.Add(´ Verbose: ´+BoolToStr(CBTran.Checked));
Log.Items.Add(´ Nome do servidor: ´+ServerName);
Log.Items.Add(´´);
Active:=True;//ativa o serviço de backup, mais ainda não inicia.
Log.Items.Add(´´);
Log.Items.Add(´/***INICIO***\´);
Application.ProcessMessages;
Log.Items.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}
Update;
Log.Items.Add(GetNextLine);
Log.ItemIndex:=Log.ItemIndex+1;
end;
finally
end;
Active:=False;//desativa o serviço de backup
Log.Items.Add(´´);
Log.Items.Add(´/****FIM****\´);
end;
Log.Items.Add(´´); Log.Items.Add(´´);
Log.Items.Add(´Backup concluído.´);
DM.Conexao.Connected:=True;//conecta o sistema na base de dados
BTGeraBack.Enabled:=True;
except
on E: Exception do
begin
Log.Items.Add(´Ocorreu um erro inesperado. O backup não foi concluído.´);
Log.Items.Add(´Informações da exceção:´);
Log.Items.Add(´ ´+E.Message);
DM.Conexao.Connected:=True;//conecta o sistema na base de dados
BTGeraBack.Enabled:=True;
end;
end;
end;O erro ta dando nessa linha quando vai preenchendo as linhas.
Update; Log.Items.Add(GetNextLine); Log.ItemIndex:=Log.ItemIndex+1; end;
O erro é esse [URL=http://img122.imageshack.us/my.php?image=imagemfk6.jpg][img:7d37b1538a]http://img122.imageshack.us/img122/8017/imagemfk6.th.jpg[/img:7d37b1538a][/URL]
--------------------------- Debugger Exception Notification --------------------------- Project MATERIAIS.exe raised exception class EIBInterBaseError with message ´message length error (encountered 96, expected 92)´. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------
Que faço?
Estou usando FB 2.0
O componente é o IBBackupService.
Jpauloss
Curtidas 0
Respostas
Jpauloss
02/03/2008
Gente, fiz com o exemplo que está no help, e está dando o mesmo erro. Tentei procurar no help alguma solução e não achei. Será que alguem já passou por isso?
Exemplo simples que está no help
O erro da quando está preenchedo as linhas
Exemplo simples que está no help
begin with IBBackupService1 do begin ServerName := ´127.0.0.1´; LoginPrompt := False; //Params.Add(´user_name=SYSDBA´); //Params.Add(´password=masterkey´); Active := True; try Verbose := True; Options := [NonTransportable, IgnoreLimbo]; DatabaseName := ´C:\Materiais\dados\MATERIAIS.FDB´; BackupFile.Add(´C:\Materiais\dados\Backup.gbk´); ServiceStart; While not Eof do Log.Lines.Add(GetNextLine); finally Active := False; end;
O erro da quando está preenchedo as linhas
ServiceStart; While not Eof do Log.Lines.Add(GetNextLine);
GOSTEI 0
Jpauloss
02/03/2008
O erro é o mesmo
--------------------------- Debugger Exception Notification --------------------------- Project MATERIAIS.exe raised exception class EIBInterBaseError with message ´message length error (encountered 96, expected 92)´. Process stopped. Use Step or Run to continue. --------------------------- OK Help ---------------------------
GOSTEI 0
Jpauloss
02/03/2008
Se alguem souber ajuda aê, já não sei onde mais procurar solução...
Message length error (erro de comprimento de mensagem).
(encountered 96, expected 92) (Encontrado 96, esperrado 92)
Message length error (erro de comprimento de mensagem).
(encountered 96, expected 92) (Encontrado 96, esperrado 92)
GOSTEI 0
Jpauloss
02/03/2008
Alguem?
GOSTEI 0
Jpauloss
02/03/2008
Alguma sugestão?
GOSTEI 0
Joaoshi
02/03/2008
Colega, neste tópico
http://forum.devmedia.com.br/viewtopic.php?t=93012&highlight=
foi discutido um assunto semelhante, apesar de não ter resolvido o problema do tópico, a dica me resolveu um problema parecido.
Espero ter ajudado.
http://forum.devmedia.com.br/viewtopic.php?t=93012&highlight=
foi discutido um assunto semelhante, apesar de não ter resolvido o problema do tópico, a dica me resolveu um problema parecido.
Espero ter ajudado.
GOSTEI 0