Problemas com DBFs

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

moacirponti
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 15 Mar 2005 10:37

Problemas com DBFs

Mensagem por moacirponti »

Alô amigos.

Trabalho com Clipper há vários anos, utilizando os velhos arquivos DBF, com índices CDX. Tenho alguns softwares rodando em Win98, outros em Win2000 e WinXPSP2.
Os problemas:

- Relatórios.
Algumas vezes relatórios como Contas Recebidas por Cliente saem como se o cliente não tivesse pago nada. Os usuários dizem que às vezes tentam tirar novamente e o relatório então sai corretamente.

- Corrupção.
Algumas vezes os DBFs se enchem de registros com lixo. Geralmente não há perda de dados, mas já houve casos de mais de 500 registros sendo incluídos, todos com lixo.

Gero os DBFs no meu próprio software. Eu atribuo estes problemas ao fato do banco de dados ser ruim (será?). Depois que passei de NTX para CDX melhorou bem, mas ainda permanecem estes problemas.

Se puderem ajudar, seria de grande valia pois realmente não sei o que fazer para tornar o armazenamento de dados (e sua recuperação) mais confiável em Clipper.

Obrigado.

Moacir.
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Na verdade o DBF é um banco de dados antigo, mas não é RUIM, ele é o banco de dados mais comum que existe e é comum ainda grandes empresas usarem este tipo de banco de dados, um exemplo mesmo é o CompFour que é o melhor sistema de ECF e SINTEGRA que existe e a base de dados dele é DBF com indices MDX totalmente compatíveis com os do Clipper.


O problema mesmo deve ser alguma falha de programação, sabe como é né, aquela virgula que fica fora do lugar que a gente demora meses para encontrar, pois tenho bancos de dados imensos aqui e nunca tive problema nenhum, ainda mais agora com o xHarbour e Linux, ficou um show, como um SQL.
Sem mais
Wagner Nunes
www.vagucs.com.br
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Bom dia Moacir.
Esses problemas estão mto relacionados a rede.
Recentemente sofri com mtas mensagens de erros no sistema.
Depois de uma restruturação da rede do cliente tudo foi sanado.
Atualmente prefiro usar servidores Novella e Windows 2000 server por serem mais estáveis , mas migrarei a longo prazo para servidores de dados em linux com Samba somente para minimizar custos.
Não utilize como servidor Windows 98 impróprios para gerenciamento de rede.
Meus clientes q possuem switches e servidores potentes nunca tive problemas, mas naqueles q a rede "ta nas coxas" vira e mexe eles me ligam e eu falo para o cliente usar a opção "Reorganização" do sistema.
A única coisa q me insatisfaz no dbf é sua capacidade de armazenamento.
Mas esse limite já esta superado com o uso de banco de dados sql com clipper ou xharbour ou até mesmo com o uso do ADS (Advantage database Server).


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Uma coisa que vale salientar e que muitos programadores ou não sabem ou se esquecem é que antes de recriar os indices CDX é necessário excluir o arquivo indice antigo antes, isso é colocado como obrigatório no manual do RDD CDX.

Tive muitos problemas com arquivos quando migrei de NTX para CDX por este motivo, depois que refiz a rotina de indexação excluindo os arquivos de indeices meus problemas se acabaram-se (Tabajara CDX).

:))

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
moacirponti
Usuário Nível 1
Usuário Nível 1
Mensagens: 8
Registrado em: 15 Mar 2005 10:37

Excluir CDX

Mensagem por moacirponti »

Quando você fala de excluir os arquivos de índices é apagar mesmo os CDX?

Eu uso assim: DELETE FILE("EST08.CDX")

Mas mesmo assim os clientes reclamam de alguns erros.

Vou verificar melhor a rede.

Abraço!!!
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Isso, excluir da forma que você está fazendo, porém no meu caso prefiro usar a FERASE() porque já tive alguns problemas com o DELETE FILE.

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
MARINI
Usuário Nível 3
Usuário Nível 3
Mensagens: 288
Registrado em: 06 Jul 2004 08:06
Localização: Pindamonhangaba SP

Mensagem por MARINI »

Dica para apagar tudo antes de reindexar:

DBCLOSEALL()
AEVAL(DIRECTORY("*.CDX"),{|x|FERASE(x[1])})

http://www.clipx.net/ng/53guide/ng43d36.php
Sds
Marini
Responder