1HZV&ODULRQ%UDVLO &RUUXSomRGH$UTXLYRVHP5HGH Muitas vezes, durante a execução de programas Clarion, ao acessar arquivos de dados, principalmente em bases TPS, recebemos mensagens de erro do tipo: ,QWHUQDO(UURUou Qual a razãop destes erros. O que está acontecendo com a nossa base de dados que sempre funcionou bem e agora está apresentando esta “incômoda”mensagem. Isto se deve a uma das causas abaixo • &DERGHUHGHGREUDGRRXGDQLILFDGR possivelmente o cabo de rede está dobrado ou quebrado. Muito comum quando a rede utiliza os “antigos” cabos coaxiais; • &DERV FRD[LDLV URGDQGR FRP RV WHUPLQDGRUHV HP 7 FRP XPD GDV H[WUHPLGDGHVDEHUWDVpode ocorrer quando inadvertidamente o cabo é retirado e o terminador/conector não é fechado adequadamente; • $ FRQH[mR HQWUH R SOXJ H R FDER IRL SHUGLGD por qualquer motivo o pino de conexão do cabo de rede não se liga à placa de rede (muito comum em cabos coaxiais); • 0DXFRQWDWRQRVWHUPLQDGRUHVFRQHFWRUHV: com o passar do tempo o contato dos terminadores dos cabos coaxiais se desgasta e ocorrem problemas; • 'ULYHUV 'HVDWXDOL]DGRV você atualizaou o seu windows, atualizou o seu computador, mas o driver de sua placa de rede ainda é o antigo. Procure obter no site do fabricante, na Internet, o driver mais recente, principalmente se a sua placa de rede for uma Ethernet Realteck.; • 'HIHLWRQR+XERXQDSRUWDGR+XE Seu hub ou uma das portas do hub está com problema. Substitua ou repare o hub /porta, se possível; • )DOKD RX GHIHLWR QD 3ODFD GH 5HGH: sua placa de rede está com problema. Substitua a placa e teste novamente o programa e o acesso aos dados; • 3UREOHPDV FRP TXHGDV GH HQHUJLD: As quedas de energia podem corromper os arquivos, principalmente nos casos em que o servidor de arquivos cai e por algum motivo o terminal não cai. É altamente recomendável a uitilização de Nobreks que evitem as quedas de energia e matenham a integridade da base de dados; • 3UREOHPDV QD FRQILJXUDomR GD 5HGH Muitas vezes uma rede mal configurada, drivers mal mapeados (se é que isto pode ocorrer), ocasionam perda de dados e corrupção de arquivos; • 'HVOLJDPHQWRDQRUPDO Saida do sistema de forma anormal. Habitue seus usuários a encerrar o sistema sempre pelas vias normais. Desenvolva rotinas que avisem ao seu usuário na entrada do sistema quando uma saída anormal, tenha ocorrido anteriormente; • 'HVOLJDPHQWRRX³GHUUXEDGD´GRVHUYLGRUHQTXDQWRRSURJUDPDHVWiURGDQGR QRVWHUPLQDLVAntes de desligar ou “derrubar” o seu servidor faça com que todos os seus usuários encerrem as suas tarefas nos terminais; • 'ULYHUV GH UHGH ³YHQFLGRV´ não podemoz dizer que os drivers de rede (não confudir com os drivers das placas de rede), vençam, mas na realidade, eles ficam “desatualizados”. Mantenha seus drivers atualizados; • /LJDomRLQDGHTXDGDDR+DUGZDUH não deixe cabos de rede soltos no chão onde ocorra tráfego de pessoas ou de animais. Não passe os cabos de rede na mesma 1 1HZV&ODULRQ%UDVLO • • • • canaleta onde passa a energia elétrica. Mantenha o cabo de rede longe dos fios da rede elétrica; 3RZHU 0DQDJHPHQW ± HFRQRPL]DGRUHV GH HQHUJLD Provavelmente seu computador está configurado para trabalhar economizando energia, isto é, depois de um certo tempo de inatividade, o monitor, o Hd, a placa de rede são desligados para que o computador consuma o mínimo de energia, ficando num estado de “ dormência” . Gerenciadores de energia e redes não se misturam. Você pode economizar o seu monitor, mas nunca o seu HD ou a placa de rede. Desabilite este recurso no seu windows, principalmente se você acessa via Windows um servidor Novell. $QWL YtUXV UHVHLGHQWHV HP PHPyULD Alguns anti-vírus residentes ficam scaneando frequentemente a memória e podem causar corrupção de dados. Consulte o fabricante de seu anti-vírus para descobrir a melhor maneira de tirar o máximo proveito do sistema sem comprometer a integridade dos dados; 3DUkPHWUR )LOHV GR &RQILJ6\V – principalmente no Windows 95, o config.sys deve ter um mínimo de 100 a 125 no parâmetro files. Um número muito baixo no Config.Sys, faz com que a rede às vezes funcione, às vezes não, principalmente acessando Novell Netware; -RJRV RX *DPHV é a mesma coisa. Jogos fazem uso de endereços de memória forçando uma melhor perfomance, entretanto, não desocupam estes endereços quando são encerrados. Sempre após utilizar um jogo no terminal (cliente) faça um, reboot da máquina para descarregar os “ maus comportamentos” dos jogos. Isto evita muitos erros do tipo GPF. ,PSRUWDQWH Lembre-se de manter os backups de seus dados em dia. Se você ou o seu usuário não possuir cópia de segurança dos arquivos, certamente você terá problemas.. Hoje, amanhã, um dia destes, porque uma falha sempre ocorrerá. É a Lei de Murphy. A atualização dos Backups é uma questão de responsailidade. É um assunto muito sério, e como tal deve ser encarado. 23UREOHPDGRV'ULYHUVGHVDWXDOL]DGRV As redes baseadas no Windows estão sujeitas a um grande número de probelmas. Alguns destes probelmas podem ser resolvidos, simplesmente instalando-se uma nova versão de software atualizada distribuída pelo fabricante ou (mais frequentemente) no site da Microsoft. O link abaixo irá dar acesso a uma página da web que descxreve um dos problemas das redes ponto a ponto do Wndows. Em particular redes sob o Windows 95 necessitam ser atualizadas http://support.microsoft.com/support/kb/artgicles/q174/3/71.asp e http://support.microsoft.com/support/kb/articles/q148/3/67 em particular. 8VXiULRVGR:LQGRZV1W Verifique se o service pack 6 ou o service pack 6 a está instalado. A maioria dos problemas com redes sob o Windows NT é resolvida com a instalação do “ release” . Baixe o service=pack no site da Microsoft. 2 1HZV&ODULRQ%UDVLO 6XDUHGHHVWiPXLWROHQWDTXDQGRXVDXPDOHWUDGHGULYHU PDSHDGD Se sua conexão está muito lenta, o motivo está no fato de que o computador possui dois protocolos instalados (TCP/IP e NetBEUI)- os protocolos de rede são similares aos idiomas falados pelas pessoas – fica muito difícil falar dois idiomas ao mesmo tempo – é como dar uma palestra utilizando um intérprete. No mínimo, demora o dobro do tempo. O TCP/IP é normalmente utilizado para a Internet, enquanto o NetBEUI é utilizado na rede local. Muitas placas de rede não funcionam (não conectam), se o protocolo NetBEUI não estiver instalado. O protocolo padrão é o TCP/IP. Quando ocorre uma tentativa de conexão para uma unidade de driver mapeada, depois de um certo tempo de ociosidade, o computador tenta conecta-sr primeiro, sob o protocolo TCP/IP, até que ocorra um “ time out” . Somente e então, a tentativa de conectar-se via NetBEUI ocorre. Vá ao painel de controle e configurel a rede (placa) para que utilize o NetBEUI como o protoloco padrão. Desta forma o acesso se dará de forma mais rápida em conexões locais. Para conexões de internet, o TCP/IP é o padrão. Uma outra razão para a lentidão das conexões de rede, é quando ao invés de estar mapeado o drive inteiro, somente alguns diretórios. Não se sabe ao certo o porquê desta ocorrência. Consulte a base da Microsoft http://msdn.microsoft.com (VWiWXGREHPFRPRVHXSURJUDPD6XVSHLWHSULPHLURGR +DUGZDUH Você tem o mesmo programa rodando em outros usuários. Não tem nenhum problema com eles. De repente, “ neste usuário” começam as corrupçõpes de arquivos. Está claro que o problema não é do programa. Suspeite primeiro das placas de rede, dos cabos de rede, dos pentes de memória e dos caches de leitura e gravação. Faça um teste, se você conseguir salvar um arquivo do Notepad no diretório do seu programa. Difícilmente há um problema com o programa. A causa está no hardware ou às vezes, até em um vírus. Se você não puder gravar um arquivo do Notepad no diretório do seu programa, possívelmente há um erro com as configurações da rede. Analise os compartilhamentos e permissões. 9HULILFDo}HVTXHYRFrGHYHID]HU 1) Seu programa é a único que está compartilhado dados na rede? Se houver algum outro programa compartilhando dados na rede no momento em que ocorreu a corrupção de arquivos, desative a execução do outro programa e verifique se o mesmo não está contribuindo para a corrupção dos arquivos de seu programa. Às vezes o BDE do Delphi pode ocasionar problemas,.se estiver mal configurado. 2) A corrupção ocorre logo no início do programa? Se isto ocorrer, desconfie dos cabos de rede mal conectados, dos pentes de memória e principalmente da placa de rede (modelo Realteck com drivers antigos). Programas protegidos pelo Secwin da Capesoft apresentam uma mensagem do tipo Arquivo de Segurança Corrompido, principalmente se houverem problemas com placa-mãe, memória, placa de rede e relógio interno do micro; 3) O que foi mudado na rede quando aconteceu a corrupção? 3 1HZV&ODULRQ%UDVLO Verifique se uma nova máquina foi colocada na rede. Um novo cabo, um novo conector. Problemas de hardware são responsáveis por um grande número de erros e corrupção em rede. 4) Verifique cuidadosamente o cooler (ventilador do processador). Se este falhar, certamente haverá corrupção de dados e travamentos da máquina. A execução de grandes bases de dados ocasionam um aquecimento maior do processador QDPiTXLQD VHUYLGRUD. Hoje existem coolers que proporcionam um resfriamento mairo, à vena nas lojas do ramo. 5) Verifique também os cabos de alimentação da CPU. Um cabo com mau contato pode ocasionar falhas e desligamentos acidentais com comsequente perda e corrupção de dados. Substitua os cabos que não estiverem em boas condições; 6) Verifique o nível de fragmentação dos discos nas estações e no servidor. Utilize o programa apropriado no Windows NT para manter a performance do disco em ordem. 7) Para redes utilizando cabos de par trancádo, mude os cabos entre as estações e copie arquivos do servidor para a estações, sempre a mesma sequência e número de arquivos. Supeite do cabo que apresentar uma velocidade menor na mesma máquina cliente. 8) Faça o mesmo teste entre estações; 9) Verifique também a quantidade e a qualidade de memória no servidor. Servidores com o Windows 2000 server, preci am de uma grande quantidade de memória para rodarem satisfatóriamente. 128 MB ou mais. Muitas vezes um pente de memória de marca diferente pode ocasionar corrupção. 10) Que tipo de disco rígido está sendo usado no servidor? Ele é espelhado? Está em boas condições? Não possui cluesters defeituosos? 11) Verifique também o tamanho do arquivo de troca (swap) ele deve ser compatível com a memória física de seu computado, numa relação 256 mb de memória 512 mb a 768 mb de swap. 5HFXSHUDQGRRVDUTXLYRVFRUURPSLGRV Sabemos que a corrupçãop ocorre (em todos os setores), principalmente nos ambientes de rede, precisamos então tomar medidas para recuperar os arquivos corrompidos. 5HVWDXUDQGRFySLDVGH6HJXUDQoD O hábito de manter os backups em dia permite rapidamente recuperar um arquivo corrompido. Basta voltar o último Backup. Se a corrupção ocorrer no início do expediente, esta é a forma mais rápida de resolver o problema. 8WLOL]DQGRR)LOH0DQQDJHU O uso do File Mannager da Capesoft em seu programa contribui bastante para resolver os problemas de corrupção. O File Mannager configurado adequadamente, detecta as corrupções e corrige automaticamente os arquivos em más condições. Digo sempre que os templates File Mannager e Secwin, ambos da Capesoft, são dois templates essencias para qualquer desenvolvedor, e na minha opinião, deveriam fazer parte do pacote de distribuição do Clarion. A Soft Velocity deveria firmar uma parceria com Bruce Johnson (CEO da Capesoft) e incluir estes dois templates no pacote de instalação do Clarion. Na 4 1HZV&ODULRQ%UDVLO minha opinião, o dicionário de dados do Clarion, já deveria vir “ equipado” com o File Mannager. 8VDQGRR736),; O Sistema de arquivos TPS oferece alta performance, alto nível de segurança e excelente taxa de compactação de dados para o ambiente de desenvolvimento Clarion. Dúvdidas tem sido levantadas a respeito da estbilidade do driver, em função das mensagenes de erros postadas pelo driver – quando a aplicação está rodando e acessando bases tps. Os arquivos tps não são mais sucetíveis de corrupção que os arquivos de outras bases, entretanto, o seu nível de tratamento e detecção de rros é bastante alto, uma vez que a engenharia do driver e extremamente sensível à menor anomalia no arquivo de dados. A performance e a segurança padrão, requerida pelo driver, exigem um algoritmo de checagem de erros extremamente agressivo. A integridade dos dados é a maior preocupação do fabricante. Por esta razão a gravação dos dados no arquivo é dividida em duas partes. Primeiro o registro de dados (record) é escrito no arquivo e um flush (descarga) é efetuado para limpar o buffer e gravar fisicamente no disco. Somente quando o cabeçalho do arquivo é atualizadao para refletir o novo registro, é que um flush é utilizado novamente. O hadware da rede mais o sofware são os resposáveis pela escrita física das informações no disco. Se um bit em más condições é transferido e gravado dentro do arquvo, usalmente ele (o bit com defeito) é identificado pelo driver, quando o registro é descompactado. Durante a descompactação o tamanho do registro atual é comparado com o tamanho reportado no cabeçalho (header). Se os tamanhos “ não baterem” o driver reprotará um erro do tipo “ corrupção de arquivo – (tpsbp.cpp line XXXX (erro 1477, 2172, etc....) Uma grande quantidade de arquivos de dados foi exaustivamente testada, e até o momento, somente um problema foi identificado com driver. Esta corrupção de dados somente ocorre se o seguinte código for emitido: 675($0ILOH /2*287ILOH 52//%$&. Esta corrupção pode ser evitada, fazendo-se as seguintes modifcaçõpes no código: 675($0ILOH )/86+ILOH /2*287ILOH 52//%$&. Com exceção do problema acima, todos os bugs conhecidos do driver TopSpeed foram corrigidos com o release 2.003 do Clarion. Os arquivos de dados Clarion (.dat), enquanto não estritamente checados como os arquivos TopSpeed, irão ocasionar erros se um bit em más condições for gravado dentro de um campo que contenha uma informação de chave. Se o registro e a chave não forem encotnrados, o driver irá retornar um erro de Chave Invál;ida (erro 38) ou uma solicitação pare reconstrução de chave (erro 46). Ambos, tanto Clarion como TopSpeed operam em ambeintes multiu usuários através do compartilhamento de dados no modo estação para estação. Isto significa que não existe uma estação em particular que atue como servidor controlando as solicitações feitas aos arquivos. Este tipo de ambiente de dados requer 5 1HZV&ODULRQ%UDVLO fundalmente que o sistema operacional e as solicitações de rede trabalhem em perfeita sintonia garantindo uma comunicação perfeita entre as estações. Se houver uma falha neste nível ou ocorrer uma instabilidade com o envio de bits defeitusos para o arquivo de dados, ocorerrá a corrupção dos dados. Se ocorrerem corrupções frequentes em aplicações que utilizem arquivos TPS ou Clarion (DAT) , existem duas medidas que devem ser tomadas para resolver o problema. Primeiro , corriga o arquivo corrompido, utilizando o TPSFIX; segundo, tome medidas para evitar futuras corrupções: 5HSDUDQGRRV$UTXLYRV&RUURPSLGRV O utilitário TPSFIX.EXE irá recuperar a maioria dos arquivos TPS corropidos. Certifique-se de que o checkbox Buld Keus, esteja marcado, de forma que as chaves sejam reconstruídas. Em alguns casos de corrupção de arquivos o TPSFIX inicialmente não irá reportar nenhum erro no arquivo. Nestes casos, prossiga com a execução do utilitário até a sua fase final. É possível que se existir algum erro ele seja encontrado na leitura sequencial através do arquivo. Se o TPSFIX for incapaz de corrigir o arquivo, um programa de conversão poderá ser cirado o qual irá ler o arquivo através de um loop na ordem de gravação do arquivo e as chaves serão reconstruídas. . No progrma de conversão a estrutura Source e a estrutura Target devem ser as mesmas, você deverá gravar o novo arquivo com um outro nome. Se somente for necessário reconstruir as chaves do arquivo para os arquivos .TPS o TPSFIX irá realizar esta tarefa. Isto também pode ser feito no aplicativo, pelo uso do comando BUILD(arquivo), logo depois que o arquivo tenha sido aberto. Num embe dfo tipo, After Opening Files. Antes de utiliza o comando BUILD certifiquese de que FULLBUILD=ON comandando o driver do arquivo. Isto fará com que a chave seja reconstruída sempre, mesmo quando não correrem modificações no arquivo. Normalmente FULLBUILD está setado para OFF para otimizar o acesso ao driver. Desta forma ele deve ser setado para ON antes do comando BUILD e para OFF logo depois que o comando tenha sido executado. 23(1ILOH 6(1'ILOH )8//%8,/' 21 %8,/'ILOH 6(1'ILOH )8//%8,/' 2)) ) 6 1HZV&ODULRQ%UDVLO No trecho de código acima, o arquivo é aberto, um comando Send, nome do aruqivo, liga a opção TULLBUILD, executa a reconstrução de todas as chaves, e em seguida, com um comando Send, desliga a opção FULLBUILD. Com relação aos arquivos de dados Clarion (.dat) , em virtude de o problema ser geralmente uma corrupção de chave, e como a chave é externa, esta pode ser deletada e em seguida reconstruída. A reconstrução da chave pode ser feita com o DATABASE MANAGER do Clarion, selecionando-se o arquivo com a barra apontadora, no dicionário, e em seguida clicando no botão Browse. Ao ser solicitado para reconstruir a chave, responda com Yes. Isto deverá resolver o probelma de corrupção da chave. Se a reconstrução automáttica não funcionar, utilize o mesmo método de conversão que foi recomendado para o driver TopSpeed. (YLWDQGR&RUUXSo}HV)XWXUDV Uma vez que um arquivo seja corrompido e substituído na rede, a razão para que o fato tenha ocorrido deve ser encontrada e corrigida. Nesta oporturnidade, além de tudo oque foi dito antes, tres cistâncias específicas devem ser identificadas por serem causas cosntantes de corrupçãoo de Arquivos .TPS ou Clarion (.DAT). 1.Redirecionador da Rede Virtual com o Windows 95. A versão do redirecionador que foi distribuída com o Windows 95, no primeiro quadrimestre de 1996, tem problemas de buferização, quando atualiza dados apartir de um servidor Windows NT. O redirecionador irá automaticamente criar um cache local, oqua irá causar corrupção de dados. A Microsoft disponbiliza no seu site uma atulização. Para os usuários do Windows SR2, este problema foi resolvido. Também é possível baixar uma atulização do forum Data Flex - IWSGDWDDFFHVVFRPSXEUHGLU, o nome do arquivo é vrdr2upd.exe. Rode o programa executável e o novo redirecionador será isntalado . Isto não terá efeito para os usuários de servidores Novell e estações Windows 95. Se os probelmas estiverem ocorrendo na configuração da rede, usando o network requester, fornecido pela Novell, os problemas de corrupção de dados serão resolvidos. 2. O uso do servidor Novell 3x junto com o Novell ex deve ser evitado. Usuários da versão 4x acessando datas em um servidor 3x devem ter experiência suficiente para substituir as marcas de final de arquivos. O final de arquivo é armazenado individualmente nas estações e não é passao corretamente entre as duas versões. Eliminando-se a msitura de servidores, o problema é resolvido. 3. Falhas de Hardware. – muitos arquivos corrompidos tem como causa falhas de hardware, placas de rede, pentes de memória, aquecimento do processador(cooler defeituoso) ou placas mães defeituosas. Uma vcez que é muito dífícil descobrir os erros de hardware, somente a substituição dos mesmos poderá solucionar o fato. 7