[firebase-br] Rotina / Estouro de Memoria
Iúri Pereira
mcsistemas_suporte em yahoo.com.br
Sex Set 30 13:56:52 -03 2005
Rodolpho vou testar a solução que você me passou, me parece bem
interessante, depois dou um retorno de como ficou... blz
por enquanto muito obrigado.
Iúri
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