Corrupção de DBFs utilizando antivirus ForeFront

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

leandromiler
Usuário Nível 2
Usuário Nível 2
Mensagens: 55
Registrado em: 26 Nov 2009 08:38
Localização: Ribeirão Preto - SP
Contato:

Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por leandromiler »

Compartilhando experiências.

Notei depois de alguns testes, que utilizando o antivirus ForeFront da Microsoft algumas rotinas do clipper dão pau e sujando os dbfs com aqueles símbolos. Principalmente quando utilizamos o comando PACK.
Este antivirus era usado em um servidor com Windows 2003. Desabilitamos o antivirus, e acabou-se os problemas.
Inicialmente tive dúvidas sobre a versao do clipper utilizado, 5.3b / CDX / Blinker 7 , mas fazendo alguns testes com o programa dbase, utilizando o comando PACK, com o antivirus habilitado dava probelma mesmo assim. Outra coisa o mesmo sistema roda em outras empresas que usa 2003 server, com outro antivirus (AVG) e roda sem problemas há anos.

Abraços a todos.



---
Nota da Moderação (Maligno):
O presente tópico foi movido da seção "CA-Clipper", uma vez que seu conteúdo diverge dos objetivos daquela seção, onde só podem constar matérias de cunho técnico, diretamente relacionadas à linguagem XBase com Clipper.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por alxsts »

Olá!

O comando PACK realmente é um perigo... O melhor é criar a estrutura em outro DBF e copiar os registros não deletados. Depois deletar o DBF original e renomear o temporário.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por rochinha »

Amiguinhos,

Eu já alertei aqui também os colegas em relação ao AVAST, ele também detona arquivos .DBF.

Outro agravante neste problema de corrupção, é o CACHE do Windows, pelo fato de demorar a gravar suas mudanças(gravação atrasada) este pode corromper os dados. gravando neles lixo, como por exemplo, páginas de internet abertas durante o uso do servidor com seu sistema.

Tá ai...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por asimoes »

Senhores,

Uma pergunta: O comando commit não grava imediatamente o(s) registro(s) no o dbf? ou fica em cache?

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por alxsts »

Olá!

Creio que isso funcionava no DOS. Sob o Windows, penso que o DbCommit() ou COMMIT envie uma requisição de gravação para o Windows. Este, de imediato, devolve uma resposta informando que os dados foram gravados mas, na realidade, esse pedido de gravação deve ficar numa fila de gravações do Windows (a tal gravação atrasada) que deve ser gerenciada segundo os critérios de prioridade de cada processo ou aplicativo. Tudo isso, eu acho... Bom tema para pesquisa.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por Maligno »

No DOS, seja o real (kernel não-NT) ou o emulado (kernel NT), o comando COMMIT produz um flush (descarga) para disco de forma imediata, por meio de um interrupção (serviço) da API do DOS. Aliás, nem faria sentido tirar de um cachê para colocar em outro.
O que pode estar acontecendo é que o anti-vírus está "segurando" essa gravação em virtude da simples manipulação do arquivo. Antigamente o AVG também checava os DBFs, o que demandava mais tempo de análise heurística para verificar o arquivo, conforme um maior volume de dados. Apesar da extensão nada ter a ver com "executável". Lembro, inclusive, que alguns colegas resolveram esse problema, à época, incluindo seus arquivos de dados na lista de "exceções" do anti-vírus. Talvez esse seja o caminho para o presente caso.

Com relação ao comando PACK, aconselho o colega a utilizá-lo apenas em último caso. O ideal é elaborar rotinas de reaproveitamente de registros apagados, o que aliás torna o trabalho de inclusão mais rápido.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por alaminojunior »

Certa vez tive um problema igual, num servidor que usava Avast. Apareceu um monte de logs dentro dos campos dos dbf´s.
Sobre o cache do Windows, o interessante seria desabilitá-lo. Tenho feito essa manobra em todos os pc´s que vão surgindo. Inclusive isso é recomendação das certificadoras de TEF, para o processo de homologação.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por alxsts »

Olá!
Maligno escreveu:O ideal é elaborar rotinas de reaproveitamente de registros apagados, o que aliás torna o trabalho de inclusão mais rápido.
Sobre o assunto citado, existe um artigo muito bom e antigo, com exemplos, no também antigo site The Holmes Page. O título é Record Recycling.

Apesar de ser uma boa técnica, penso que seja trabalhoso fazer sua implementação em um sistema que já está pronto.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Corrupção de DBFs utilizando antivirus ForeFront

Mensagem por Maligno »

Pode ser realmente trabalhoso. Por isso, há anos insisto na questão da abstração. Se existe abstração, uma troca dessas se torna extremamente fácil.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder