Página 1 de 2

DBF em branco

Enviado: 14 Out 2011 10:14
por supgaroto
Em um cliente um dbf com 30000 registros simplesmente 23000 registros ficaram em branco. Existe o registro só que todas as informações desapareceram tudo limpo, valores zerados.... Já verifiquei todo o codigo do sistema e não tem nenhum comando que possa ter feito isso!! Alguem já passou por isso? Como faço pra disponibilizar o arquivo aqui, caso alguém queira olhar?

DBF em branco

Enviado: 14 Out 2011 19:21
por Gilberto M Silva
Cara, qual tipo de indece vc utiliza? ntx ou cdx, esse tipo de pane no dbf é tipíco do ntx corrumpido ai corrumpe o dbf, já aconteceu comigo quando usava dbf/ntx em rede não consegui recuperar os dados corrumpidos mudei para dbf/cdx os problemas foram eliminados em 100%.

DBF em branco

Enviado: 14 Out 2011 19:55
por Eolo
Gilberto, desculpe, mas dizer que o NTX dá pau e o CDX não dá, não é a minha experiência (e talvez de muitos outros colegas). Tenho programas rodando há 20 anos, com NTX, rodando embaixo do Win95 até o XP, Clipper Summer e 52e, em rede ou mono, e nunca tive problema com DBF corrompido.

O CDX pode ser mais rápido, mais seguro etc., mas afirmar que, com ele, não dá DBF corrompido, como dá com o NTX, eu não concordo. O mais provável, na minha opinião, no caso do nosso colega, ou é algum erro no programa (por exemplo, DBF atualizado sem o respectivo índice aberto, indice com chave incorreta e SEEK e replace sem controle etc.) ou algum problema de hardware ou rede (EXE abortando no meio de uma gravação, por ex).

Acresce, a isso, que o colega diz que há registros em branco e não dados corrompidos. Me parece mais algum erro de lógica, mesmo. Num DBF corrompido, tipicamente, um campo data mostra letras, um campo lógico mostra números etc.

DBF em branco

Enviado: 14 Out 2011 19:59
por Eolo
Ah, SupGaroto: se vc não tem backup dos arquivos, vc está em apuros... Se o DBF está abrindo normalmente e não há informações 'estranhas' nos campos (só campos em branco), as suas perspectivas não são das melhores...

Em tempo: de qualquer forma, tente abrir o DBF em baixo nível, com o FOPEN() ou algum programa que abra DBF (Excel?). Quem sabe dá pra achar alguma coisa?

DBF em branco

Enviado: 14 Out 2011 20:10
por asimoes
Segundo o Eolo, tens backup? :)) ou :(

Com DBF desconfie de todos!

DBF em branco

Enviado: 14 Out 2011 20:30
por Eolo
Com DBF desconfie de todos!
Não entendi. vc quer dizer que com DBF é sempre ruim, sempre é pra desconfiar? Ou, com alguma ferramente mais atual, como o SQL, pode confiar 100%, mesmo que os comandos sejam mal construídos? Tipo vc faz um comando errado e o SQL, parafraseando o Google, diz "ops, vc quis dizer X, não Y?" e corrige automaticamente a operação?

Não sei do SQL, ainda to aprendendo, mas com DBF fomos pra Lua e, naquele tempo, olha que ainda era o BETA do NTX... :%

DBF em branco

Enviado: 14 Out 2011 20:43
por Eolo
SupGaroto, manda o DBF pra mim: eolo.ventura@gmail.com.
Quem sabe acho alguma coisa que ajude.

DBF em branco

Enviado: 14 Out 2011 21:54
por Gilberto M Silva
Eolo, me esprecei mau, é verdade que tinha mais problemas com o ntx, nos clientes onde a energia eletrica ocilava muito, os arquivos corrumpia mais facil, tanto q recomendava reindexar uma ou duas vezes por dia, no cdx recomendo fazer uma indexação pelo menos 3 vezes por semana, aconteceu em um cliente travar vendas fui verificar, indece corrumpido, verifiquei o dbf estava intacto, por isso que te falo, minha vida ficou mais facil com o cdx. No caso do colega os registros ficaram em branco, corrumpido os registros ficam cheios de caracteres doido.

Eolo vc teria a função para gerar MD5 e a lib? se sim poderia me passar por e-mail?? ficaria muito grato.

DBF em branco

Enviado: 15 Out 2011 05:32
por supgaroto
Uso CDX!
O programa já roda a quase 10 anos em muitos clientes... Achei muito estranho. Pq o DBF não corrompeu, simplesmente os registros ficaram em branco. Foi verificado todo o codigo e não encontramos nada com tal função. Esse cliente trabalha em rede 1 servidor + 9 terminais. O bom é que o cliente tem backup do dia anterior! :))

DBF em branco

Enviado: 15 Out 2011 10:33
por Eolo
Como é a "segurança" do cliente? Todo mundo tem acesso a tudo no servidor?

Pergunto porque já aconteceu comigo um treco parecido: cerca de 500 registros de um arquivo simplesmente sumiram, sem nenhuma outra explicação. Única explicação possível: alguém abriu o DBF com o Excel (ou outro) e deletou as linhas... Depois disso, modificamos o acesso ao servidor, nunca mais aconteceu.

DBF em branco

Enviado: 15 Out 2011 10:58
por ANDRIL
Me parece algo relacionado alguma funcao de controle de rede, que em determinada configuracao de maquina pode acarretar neste problema.
Se o arquivo tem linhas em BRANCO, deve ter tido em alguma parte do sistema um APPEND (BLANK ou FROM) que inseriram essas linhas sem deixar nenhum vestigio em nenhum campo. Neste caso, nao creio que seja nem manipulacao externa (excel, dbu e etc) e nem problema de indices corrompidos, mesmo porque, o problema de indice corrompido aparece com caracters estranhos (tipo de dados trocados, exemplo char em num) em campos que fazem parte do indice.

Veja tambem funcoes de LOCK, FLOCK.

Agora com relacao ao Windows, tente acertar o servidor para NAO UTILIZAR CACHE, diminuindo a demora da gravação em disco.
Meu Computador-> DISCO C: -> Propriedades -> Hardware-> SEU HD (de dois cliques sobre ele) -> Va em Diretivas-> Desmarque a opcao ATIVAR CACHE.
Estes caminhos sao baseados no XP, ok.

Em tempo, ja usei NTX e uso CDX atualmente em indice simples (IDX) e corruption ocorre em ambos... diminuiu bastante depois que reescrevi minha funcao de abertura de dbf e seus indices, mais em caso de quedas ou oscilacoes de energias constantes ainda sim é passivel de ocorrer o problema. Acho que somente com um NOBREAK é que temos 99% de paz sobre este assunto.

Boa sorte.

DBF em branco

Enviado: 15 Out 2011 11:39
por Eolo
SupGaroto, lhe mandei um email. É DBF corrompido, mesmo. Até o registro 3663, tudo em ordem. A partir daí, os dados estão bagunçados. Pelo jeito, algum problema na rede ou em alguma rotina sua.

DBF em branco

Enviado: 15 Out 2011 13:29
por supgaroto
Realmente!! Pedi ao cliente que checasse a rede. Ele contratou um empresa especializada em redes e realmente a rede dele estava com problemas as vezes perdia conexão com o servidor.

DBF em branco

Enviado: 15 Out 2011 14:00
por Eolo
Completando: os registros não estão em branco. Aparece branco pq o DBF tá zuado...

DBF em branco

Enviado: 15 Out 2011 18:04
por asimoes
Eolo,

Eu quis dizer "desconfie de todos" no bom português é desconfie também do usuário, sabemos que dbf pode ser aberto de várias formas. Se os registros estão simplesmente em branco sem caracteres estranhos em campos disitintos do tipo numérico, data e lógico e não há no código do supgaroto instrução para limpar o conteúdo dos campos faço outra pergunta: este dbf contém informações importantes que resultam em calculo de vendas,resultados etc.

Teste usar chksum em tabelas importantes.

É só minha opinião e experiência por ter passado por situação parecida e achava que era rede, sistema com erro e na verdade era usuário mal intencionado.