[firebase-br] Rotina / Estouro de Memoria
Rodolpho da Silva Nascimento
rnascimento em cmsolucoes.com.br
Sex Set 30 17:28:06 -03 2005
Vc está fazendo a conexão assim, do seu Cds: IBDatabase => IBDataSet =>
DataSetProvider => ClientDataSet?
Outra coisa bem lembrada pelo nosso colega Augusto, é que, para o
ApplyUpdates funcionar, vc tem que estar fazendo as alterações na hora, ou
seja, não basta durante a semana ocorrer diversas atualizações e no final de
semana vc fazer um SELECT nos dados que vc alterou. O Cds só vai atualizar
os dados cujo aqueles que foram alterados NELE e não no BD.
T+
Rodolpho
----- Original Message -----
From: "Iúri Pereira" <mcsistemas_suporte em yahoo.com.br>
To: "Rodolpho da Silva Nascimento" <rnascimento em cmsolucoes.com.br>;
"FireBase" <lista em firebase.com.br>
Sent: Friday, September 30, 2005 5:11 PM
Subject: Re: [firebase-br] Rotina / Estouro de Memoria
> 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