Corrupção de DBFs utilizando antivirus ForeFront
Moderador: Moderadores
-
leandromiler
- 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
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.
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

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Corrupção de DBFs utilizando antivirus ForeFront
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.
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)
Alexandre Santos (AlxSts)
- rochinha
- 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
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...
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.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Re: Corrupção de DBFs utilizando antivirus ForeFront
Senhores,
Uma pergunta: O comando commit não grava imediatamente o(s) registro(s) no o dbf? ou fica em cache?
[]´s
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)
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

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Corrupção de DBFs utilizando antivirus ForeFront
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.
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)
Alexandre Santos (AlxSts)
Re: Corrupção de DBFs utilizando antivirus ForeFront
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.
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!
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!
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Corrupção de DBFs utilizando antivirus ForeFront
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.
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
MySQL c/ SQLRDD
HwGui + GTWVG
-
alxsts
- 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
Olá!
Apesar de ser uma boa técnica, penso que seja trabalhoso fazer sua implementação em um sistema que já está pronto.
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.Maligno escreveu:O ideal é elaborar rotinas de reaproveitamente de registros apagados, o que aliás torna o trabalho de inclusão mais rápido.
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)
Alexandre Santos (AlxSts)
Re: Corrupção de DBFs utilizando antivirus ForeFront
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!
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!
