Fórum ClientDataset com DBF #270723
02/03/2005
0
Uso banco de dados DBF no meu programa.
Tenho uns clientes que estao com um volume muito grade de dados, ai esta uito lento e trava as vezes chegando ate mesmo a nao gravar as nots fiscais qdo e cadastrada tendo q tentar cadastrar ate dar certo.
A solucao seria mudar de bd no caso Interbase por exemplo, so q nao to com tando tempo.
Gostaria de saber se eu usar o ClientDataset com DBF melhora o desempenho, se tem algum problema na gravacao dos dados.
Atenciosamente
agradeco a atencao.
M@rcelo
Curtir tópico
+ 0Posts
02/03/2005
Dopi
Lembre-se que arquivos DBF´s que possuem muitos registros ´excluidos´ ficam lentos, pois o DBF não exclui fisicamente o arquivo até vc fazer um PACK no mesmo... Experimente fazer um PACK nas tebelas DBF...
Veja esse típoco: http://forum.devmedia.com.br/viewtopic.php?t=19181&highlight=pack+dbf
Gostei + 0
03/03/2005
M@rcelo
ja tenho uma rotina de reinexa onde isto e feito.
Quando o usuario entra para fazer um cadastro eu abro a tabela (que e grande) para fazer a insersao de registros, o que gera um trafego grande na rede e faz ficar lento pros outros usuarios.
Eu gostaria de saber se por exemplo
eu ligar uma Query com parametros num Provider com um Clientdataset
para que traga o minimo de registros ou nenhum, so para eu fazer a Insersao de registros (dando um Applyupdates) se isso gera menos trafego na rede e agilizaria o processo.
Usando ate mesno o CliendDataset para buscar dados para gerar relatorios.
Obrigado pela atencao
Gostei + 0
03/03/2005
Dopi
Use o TTable mesmo, pois nesse caso o S.O. gerencia o acesso ao arquivo, ao invez de ´baixar´ todo ele...
A exemplo. tenho bases de dados em DBFs (Clipper) com mais de 300.000 registros acessando sem problemas.
Gostei + 0
03/03/2005
M@rcelo
Obrigado
Gostei + 0
03/03/2005
M@rcelo
mesmo se eu der um slect do tipo
select campo1 from tabela where campo1=´xxx´;
mesmo neste caso é retornado todo arquivo em forma de arquivo temporario para exibir no cds.
Obrigado
Gostei + 0
03/03/2005
Dopi
Ou seja, a programação usando Select (Client / Server) deve sempre que possível retornar poucos registros.
No caso de DBFs em que não existe um Banco de Dados, o BDE faz o papel de banco de dados e cria arquivos temporários com resultados das querys...
Veja esse artigo do ´Aroldo Zanela´ sobre arquivos tremporários
http://www.forumweb.com.br/artigos/artigos.php?action=file&id=293
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)