[firebase-br] Rotina / Estouro de Memoria

Iúri Pereira mcsistemas_suporte em yahoo.com.br
Sex Set 30 17:11:59 -03 2005


Tentei usar esta rotina, exportou (muito rapido por sinal) e carregou o 
CDS (muito rapido tambem), mas nao consigo executar o ApplyUpdate, ele 
não aplica nos dados do banco...


Rodolpho da Silva Nascimento escreveu:

> Iuri,
>
>  Prq vc não trabalha usando ClientDataSet?
> Vou dizer à vc o que eu faria no seu caso.
> Na matriz, ao fazer uma moficação no BD para refletir a mesma 
> modificação em todas as bases, eu faria um SELECT na tabela (Exemplo 
> PRODUTOS) e carregaria os dados desejados para um ClientDataSet. Neste 
> ClientDataSet, eu iria fazer as minhas inserções, alterações e deletar 
> os registros que eu quiser e na hora em que eu terminasse, eu salvaria 
> o DataPacket (é o pacote de dados contendo todas as alterações feitas 
> no ClientDataSet) usando o método 
> ClientDataSet.SaveToFile('C:\MeuCds.cds')  e levaria o mesmo para as 
> filiais. Chegando lá, se as chaves dos registros forem as MESMAS da 
> matriz, eu apenas carregaria o meu ClientDataSet 
> (LoadFromFile('C:\MeuCds.cds') ) e apenas aplicava um 
> ClientDataSet.ApplyUpdates(0) no BD que ele iria fazer todas as 
> alterações no ClientDataSet no no BD.  Se as chaves dos registros NÃO 
> forem as mesmas da matriz, eu filtraria os registros pelo seu status 
> (ClientDataSet.StatusFilter := [usDelete] ou [usInserted] ou 
> [usModified]) e faria uma varredura no ClientDataSet, aplicando as 
> alterações de acordo com indispensável.
>
> Esperto tê-lo ajudado
> T+
> Rodolpho
>
>
>
>
> ----- Original Message ----- From: "Iúri Pereira" 
> <mcsistemas_suporte em yahoo.com.br>
> To: "lista - firebase" <lista em firebase.com.br>
> Sent: Friday, September 30, 2005 9:03 AM
> Subject: [firebase-br] Rotina / Estouro de Memoria
>
>
> Pessoal,
>
> já estou com um problema (grande) a algum tempo, e não encontrei nenhuma
> solução ainda, então se alguem poder me dar alguma ajuda ou ideia
> ficaria muito grato.
>
> a matriz envia um arquivo(txt) para as filiais com todos os produtos
> cadastrados novos e alterados em um determinado periodo, esse txt é
> gerado em forma de insert.
>
> hj faço o seguinte, dou um insert desses registros em uma tabela
> temporaria no firebird, depois disso faço uma rotina de sincronia, se
> achou da um update se não da um insert, so que usando o componente IBX
> no Delphi 7 esta ocasionando estouro de memoria.
>
> Pergunto o seguinte,
> como vcs fazem esse tipo de processo em seus aplicativos ?
>
> nesse caso não teria uma solução mais viavel e rapida como um procedure
> dentro do banco ou algo assim ?
>
> Obrigado,
> Iúri Pereira
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>





Mais detalhes sobre a lista de discussão lista