Página 2 de 2
Re: Problemas com Filtro
Enviado: 30 Nov 2009 08:26
por SandroBelarmino
leandromiler escreveu:Como você esta usando indices CDX com CLIPPER 5.2, entre no site
www.vagucs.com.br e baixe a bibliotex da SIX, compile seu executável com a SIXLIB.CLD, e tire a dbfcdx.lib. E na abertura dos arquivos você abrirá os arquivos VIA 'SIXCDX', e tambem mude o nome do RDD para SIXCDX.
Qual a diferença entre a DBFCDX.LIB e A SIXLIB.CLD ? Eu uso clipper5.2e , blinker 7 e cdx, mas estou usando a lib dbfcdx com o RDD dbfcdx.
O que mudaria em meu sistema se eu alterar para a sixlib?
Grato
Sandro.
Re: Problemas com Filtro
Enviado: 30 Nov 2009 09:03
por leandromiler
Veja bem, eu tinha um grande problema em um sistema meu que é usado por várias empresas. Quando o sistema ia gerar o faturamento, pois , para gerar o faturamento ele analisava 3 tabelas - Tabela NOTA.DBF, onde tinha os CTRCs (empresa de transporte) , tabela FT01.DBF tabela PAI cabeçalho da fatura, e tabela FT02.DBF tabela filho da fatura.
Por mais que eu consegui otimizar a rotina, o processo demorava mais de um minuto, pois ele buscava dados na tabela NOTA.DBF e alimentava as duas tabela das faturas utilizando filtros nas tres tabelas, pois na tabela FT01.DBF e FT02.DBF tinha faturas efetivadas que não podia ser excluídas, e na tabela NOTA.DBF tinha CTRCs já faturados que não podiam modificar. Então o processo usa DELETE, usa PACK, e é quase que inteiramente de exclusao e gravaçao de registros nas tabelas PAI e FILHO.
Em determinadas ocasiões, geralmente quando a tabela filho tinha mais de 35000 registros, o sistema no final da geração dava um problema e saia do programa dando uma mensagem de Blinker blx286 - alguma coisa.
A minha solução foi criar uma pasta ANTIGO, com o meu sistema, e nesta pasta de tempos em tempos eu passava os registros de um determinado período pra ela, daí o sistema faturava perfeitamente, então eu percebi que o problema era com o número de regitros dos arquivo filho. Isto acontecia em varias empresas o mesmo problema.
Outros testes que cheguei a fazer foi, compilar com xharbour 1.2, neste caso funcionava perfeitamente, só que ficava lento umas outras opções, então fui procurar sobre a biblioteca SIX, e recentemente à uns 10 dias baixei e implantei no meu sistema, e o que aconteceu ? os problemas acabaram.
Após usar a SIX, eu fiz vários testes, inclusive gerei o faturamento na pasta ANTIGO do qual a tabela FT02.DBF tem mais de 120000 registros, e o sistema gerou perfeitamente sem dar problemas. Detalhe, continuo usando o BLINKER 7.0, para provar que o problema não era no Blinker, e sim nos índices CDX do CLIPER 5.3b.
Então de acordo com esta experiência, pra mim resolveu meu problema. Pode ser que vocês nuncam tenha este tipo de problema, mas agora pra mim não existe ferramente melhor que clipper 5.2 e SIX. Agora meu sistema está estável.
Obs: Na migração notei que apesar de funcionar o faturamento perfeitamente e acesso aos arquivos ficarem uns 10% mais rapido, conclusão que tirei fazendo testes com as duas versões na mesma base de dados, inclusive o faturamento foi mais rápido que o XHarbour neste processo, tipo assim :
Clipper 5.3b / CDX / Blinker 7 - 1.54 segundos
Harbour 1.2 / Borland BCC - 1.41 Segundos
Clipper 5.2b / SIXCDX / Blinker 7 - 1.31 segundos
Ambiente de produção: Tenho clientes que utilizam 2003 server, com estações VISTA ou Windows 7, e também com estações Windows XP.
Um detalhe IMPORTANTE é que apos compilar com a SIX, notei que as dbedits ficaram um pouco mais lentas, e em algumas situações que usavam o filtro, então simplesmente criei arquivos de índices que são gerados na abertura do sistema, do qual indexa todos os campos que são usados como filtro no sistema inteiro, resultado - Maior velocidade nas outras telas do programa, como DBedits, Inclusões com filtros, etc.
Estou super satisfeito com esta solução, e apesar de ter compilado com harbour, ainda vou continuar usar o 5.2b com SIXCDX. Time que tá ganhando não se mexe.
Esta é a minha humilde opnião sobre a ferramenta. Não estou maldizendo as outras versões do Clipper e nem o Harbour, mas sim uma experiência profissional vivenciada por mim.
Espero ter ajudado.
Abraços a todos.
Re: Problemas com Filtro
Enviado: 30 Nov 2009 09:23
por alaminojunior
Não entendí o que o colega Leandro quiz dizer com "filtro". Se é o Set Filter to ... ou outra artimanha, mas....
Eu trabalhei com Clipper 5.3b+LLIBG+DBFCDX e abusava do comando Set Scope To ... era e ainda hoje é com xHarbour+DBFCDX naturalmente veloz.
A RDDSIX tem suas vantagens em relação à RDDCDX no tocante à segurança, mas no que diz respeito à velocidade, esta última não perde tão feio assim não !