Resolver Quebra de Índices

Foto de Anderson
 


Confira estas dicas de como resolver os problemas de quebra de índice no Clipper ([x]Harbour, xBase).

Este problema é muito comum. No Clipper, as modificações do banco de dados são feitos no cliente e depois enviados ao servidor... se há um pique de luz, um travamento, ou outro bug qualquer no cliente, o índice se quebra.

Primeiro lugar você deve ter certeza de que em todo programa que você grava ou altera dados você abre todos os arquivos de índice que o DBF possui, mesmo os índices que você não utilizará no programa. Utilizar bolsa de índices (bag) disponíveis em alguns RDD como o DBFCDX é util porque todos os indices sempre são abertos automaticamente.

Uma forma de evitar um pouco esses problemas é usar sempre o DBCOMMIT() para que as modificações não fique localmente no cache dando bobeira e sim seja gravado logo no servidor... Chama-se flush (descarga) no disco.

Nunca crie uma chave do tipo alltrim(nome)+codigo, pois na estrutura no arquivo de indice há um registro que define o tamanho da sua chave, se você criar uma chave com tamanho variável o resultado será sempre um arquivo corrompido!

Você deve verificar as instalações dos computadores, veja se todos têm estabilizadores, aterramento adequado, etc. O servidor necessita ter um no-break! E caso o benefício do no-break possa se estender aos outros computadores provavelmente você não terá mais problemas com isso... (todos precisariam terminar rapidamente o trabalho antes que a energia acabasse, é claro).

A única forma de prevenir 100% contra quebra de índices é a instalação de um bom gerenciador de banco de dados, como o ADS (Advantage Data Server), o único embargo é o preço... +- R$ 10.000,00. Nem preciso dizer que só é viável p/ grandes empresas, não é?! No entanto, o resultado é espetacular! Aumento da velocidade da rede, da capacidade de armazenamento dos DBFs, segurança total dos arquivos de índice, etc. Isto porque um gerenciador de banco de dados faz com que a gravação/edição das informação seja realizada diretamente no servidor ao invés de trazê-las para o terminal que você está e depois devolver. Temos diversos gerenciadores de banco de dados no mercado.

Se após estas observações o problema ainda persiste, vá à seção de Know-How e procure o tema "Consistência dos Arquivos de Índice" que fala sobre como manter a integridade do banco de dados na programação de seu sistema.

Use um gerenciador de banco de dados. Temos o LetoDBF gratuito hoje em dia para o Harbour.

Confira estas dicas do Itamar M. Lins Jr.:

1º Evitar usar Win7/10 como servidor. Use LINUX! ou Windows Server!
2º Usar Nobreaks
3º Não usar mapeamento.
4º Verificar o cabeamento de todos os micros.
5º Não se instala Antivírus no servidor!
6º Se usar windows, desligar atualizações. Pq ele reinicia o sistema sem avisos(atualizações), danificando o DBF!
7º Usar as novas ferramentas para acessar DBF em REDE! No mínimo fazer uso do NetIO, e ou usar LetoDBf ou ADS.
8º Se não deseja atualizar o seu código, acessar via "Terminal Service" o sistema.
9º Deixar o servidor "DEDICADO".(Ninguém mexe)
Seguindo esses parâmetros diminuímos a quase zero o problema de índices corrompidos.

 

Total votes: 0