Eu estou dando um CommitRetaining a cada post tanto que o programa aborta mais os dados anteriores estao gravados. Que eu saiba o CommitRetaining efetua a gravação fisica mas nao fecha a tabela ja o commit fecha.
Me corrija se eu estiver errado. Agradeço pela dica --- Em delphi-br@yahoogrupos.com.br, "Adriano Montagna" <[EMAIL PROTECTED]> escreveu > Ponha um contador no teu progrrama, e quando chegar a 1500 por exemplo, dê > um commit. > > Da forma que vc está fazendo, fica tudo em memoria e depois vai comitar. > mas, haja memoria. > > > ----- Original Message ----- > From: "Leonardo" <[EMAIL PROTECTED]> > To: <delphi-br@yahoogrupos.com.br> > Sent: Wednesday, March 23, 2005 11:47 AM > Subject: [delphi-br] Erro na copia de dados Paradox x Firebird > > > > > Desenvolvi um programinha temporario que lê um arquivo do paradox > e > copia todos os dados em uma Tabela do Firebird. > > O arquivo tem aproximadamente 66000 registro e la por volta do > registro 9000 o progra da este erro "out of memory". > > Aguem tem aguma ideia de como corrigir isto?? > > > > Agradeço desde ja por qualquer opnião. > > > > Leonardo > > Segue abaixo copia de parte do programa. > > > Obs: Achei que fazendo a copia assim seria mais facil que copia os > dados para um arquivo texto e fazer um script. > > > > procedure TForm1.IBTGRCAfterPost(DataSet: TDataSet); > begin > If ibtr.InTransaction then > ibtr.CommitRetaining; > end; > > procedure TForm1.IBTGRCAfterCancel(DataSet: TDataSet); > begin > If ibtr.InTransaction then > ibtr.RollbackRetaining; > > end; > > procedure TForm1.Button1Click(Sender: TObject); > begin > ProgressBar1.Max:= TGRC.RecordCount; > Tgrc.First; > While Not Tgrc.Eof do > begin > If Length(trim(TGRCG_CNPJ.Value))> 0 then > Begin > IBTGRC.Append; > IBTGRCG_NOME.Value := TGRCG_NOME.Value; > ... > ... > ... > IBTGRC.Post; > End; > TGrc.Next; > ProgressBar1.Position:= ProgressBar1.Position+1; > End; > end; > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html