Existe realmente esta fragilidade?Em versões anteriores eu diria que sim, mas na versão 7 corrompem-se somente os arquivos de índices, o que se resolve executando a rotina de indexação que todo sistema que acesse DBF, obrigatoriamente, tem que ter.
Como evitar que isso ocorra?1. Se seu cliente trabalhar em rede verificar se a placa é RealTek89??, pois ha um bug driver dessa placa - veja detalhes em:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q189778
http://www.realtek.com.tw/htm/download/level.asp?class1=communication
2. Exigindo equipamento com um mínimo de qualidade
3. Exigindo um mínimo de bons modos do usuário pra que a máquina não seja desligada erroneamente.
4. Usar partição NTFS ao invés de Fat16 ou Fat32
5. Deixando os arquivos abertos o menor tempo possível.
Exemplo:
begin transaction
Insert into Clientes (Codigo, Nome) values (1, "Geraldo F. Barbosa")
use in Clientes
end transaction
Como recupero os DBF´s danificados?Repito: se você trabalhar com o VFP7 não precisará disto - precisará, quando muito, indexar os arquivos. Caso seja mesmo necessário recuperar, uma das maneiras, é abrir o arquivo em modo texto, ler cada pedaço dos dados e ir incluindo num arquivo novo. Se precisar, te mando um exemplo que faz isso.
Obs. Em meus sistemas, se o usuário ficar um dia sem fazer backup, ele terá mensagens lembrando do backup; no segundo dia o sistema não funciona mais, a menos que o backup seja feito.