Edvaldo1361303230 Posted June 15, 2010 Report Share Posted June 15, 2010 Caros colegas, as vezes quando cai a energia com o sistema aberto perco dados em alguns arquivos, corrompe, os dados de um campo vão para outros campos e fica impossÃvel recuperar-los. Estou usando arquivos .dbf com Ãndices .cdx e sempre coloco commit ou dbcommit após a gravação de dados. Agradeço todas as dicas de ajuda. Edvaldo Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted June 15, 2010 Author Report Share Posted June 15, 2010 Caros colegas, as vezes quando cai a energia com o sistema aberto perco dados em alguns arquivos, corrompe, os dados de um campo vão para outros campos e fica impossÃvel recuperar-los. Estou usando arquivos .dbf com Ãndices .cdx e sempre coloco commit ou dbcommit após a gravação de dados. Agradeço todas as dicas de ajuda. Edvaldo Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 15, 2010 Report Share Posted June 15, 2010 primeira coisa: NO BREAKid=size5> EM TODAS AS MÃQUINAS, NÃO É CARO. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 15, 2010 Report Share Posted June 15, 2010 Segundo: IF NetUse( "TABPROD", .T. ) OrdListAdd( "TABPROD", "CODIGO", "DESCRICAO" ) OrdDescend( ,,.F. ) // - Decrescente DATABASE DbEstoque DbEstoque:Gotop() DbEstoque:Load() DbEstoque:SetBuffer( .T. ) // Assim, .T. a Op‡Æo (Cancelar) Funciona. ELSE MsgStop( "Banco de Dados do ESTOQUE Bloqueado", "Cuidado!" ) RETURN NIL ENDIF IF ORDKEYCOUNT() # RECCOUNT() VERIFY_CDX( "TABPROD" ) ENDIF //-> Verifica a Integridade do indice FUNCTION VERIFY_CDX( XNOMEARQ ) SndPlaySound( "Erro.Wav" ) MsgStop( OemToAnsi( "ATEN€ÇO !!! O Sistema Detectou Que Um dos " + ; "Öndices do Arquivo: " +XNOMEARQ+ ".DBF" ) +CRLF+ ; OemToAnsi( " Est Corrompido ou Desatualizado. " + ; "Isto Ocorre as Vezes Por Queda " ) +CRLF+ ; OemToAnsi( " de Energia ou Desligamento Incorreto " + ; "do Computador. Ser Preciso " ) +CRLF+ ; OemToAnsi( " Corrigir o Problema Para Evitar " + ; "Erros na Opera‡Æo do Sistema. " ) +CRLF+ ; OemToAnsi( " O Programa Ser Agora Conduzido " + ; "Para a Rotina de Indexa‡Æo de Dados. " ) +CRLF+ ; OemToAnsi( " Apenas Confirme a Op‡Æo de " + ; "Indexa‡Æo. Tecle Enter..." ), ; OemToAnsi( "Erro de Öndice: Reorganiza‡Æo Obrigat¢ria dos Dados" ) ) DbCLoseAll() REINDEXA(0) // INDEXADOR DE ARQUIVOS DbCLoseAll() CHAMA_VENDAS() DbCloseAll() SndPlaySound(".\Encerra.Wav" ) // "Exibindo a barra de tarefas" ShowWindow(FindWindow( 'Shell_TrayWnd',Nil), SW_SHOWNA ) FreeResources() // Set Resources To Release All SysRefresh() __Quit() RETURN NIL id=code>id=code>Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted June 15, 2010 Author Report Share Posted June 15, 2010 Ok João, um abraço. O No Break realmente seria o ideal, porém o usuário não o utiliza. Quanto a fazer indexação, não tem mais jeito, os dados já foram perdidos e utilizo a rotina indicada. O que não entendo é por que mesmo com o commit após as gravações os dados ainda se perdem no dbf no caso de falta de energia. Edvaldo Quote Link to comment Share on other sites More sharing options...
aferra Posted June 15, 2010 Report Share Posted June 15, 2010 Olá Edvaldo, utilize ADS mesmo sendo o local não acontece esse tipo de erro. Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
eevaldo Posted June 15, 2010 Report Share Posted June 15, 2010 ola, o problema ai nao e referente ao referente ao commit ele ate atualiza od dbf na hora o problema e que o sistema aborta com os dbf todos abertos sem dar o close data, ai pode dar problema mesmo, nao tem jeito e nobreak mesmo para evitar esse problema. Obrigado. Evaldo Wagner FiveWin9.07 xHarbour 1.21,BCC55, Pelles C xDev,xHarbour for Linux(console) evaldowl@hotmail.com Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 15, 2010 Report Share Posted June 15, 2010 citação:Ok João, um abraço. O No Break realmente seria o ideal, porém o usuário não o utiliza. Quanto a fazer indexação, não tem mais jeito, os dados já foram perdidos e utilizo a rotina indicada. O que não entendo é por que mesmo com o commit após as gravações os dados ainda se perdem no dbf no caso de falta de energia. Edvaldo id=quote>id=quote>O SENHOR DEVE ATENTAR, QUE SE OS DADOS DO .DBF, ESTÃO SENDO PERDIDOS, ALGUMA COISA ESTà ERRADA COM O HARDWARE OU COM O WINDOWS. ESTE TIPO DE EVENTO GERALMENTE OCORRE, QUANDO UM VIRUS PODEROSO ESTA OPERACIONAL, GERALMENTE VIRUS DE SITE PORNOGRAFICO. ATENTE A ISSO. RECOMENDE AO SEU CLIENTE, QUE NO SERVIDOR DE ARQUIVOS, NÃO CONTENHA ACESSO A INTERNET. ATIVE O FIREWALL DA MAQUINA, INSTALE O CCLEANER.EXE NO SERVIDOR E O ANTE ESPIÃO SPYBOT.EXE NESTE SERVIDOR PARA VER O QUE CORRE, O AVAST.EXE TAMBÉM É UMA BOA PEDIDA. Espero que ajude, abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Edvaldo1361303230 Posted June 16, 2010 Author Report Share Posted June 16, 2010 Ok obrigado com as dicas. Virus pode ou não ser, pois pode ou não acontecer com um mesmo cliente, digamos que são casos isolados e extremamente raros, mas acontece. Erro de execução, ai mesmo com nobreak o problema aconteceria, acho que não. Vou testar o ADS, mas estou preocupado na manutenção para migrar todos os meus clientes, pois uso o velho e bom DBF. Edvaldo Quote Link to comment Share on other sites More sharing options...
oziel Posted June 17, 2010 Report Share Posted June 17, 2010 Edvaldo. Também tive esse problema há alguns meses atrás o sistema sempre dava problemas de corrupção de arquivos. Resolvemos o prob do NO pois ele estava ligado com duas Maqs e não aguentava, também descobrimos que os operadores desligavam a tomada da rede elétrica qdo saiam no final do expediente. (a bateria perdia a carga) Foi detetado que um dos computadores da rede estava com virus o q provocava travamento do sistema e em vários casos a corrupção dos arq. principalmente *.fpt pois uso dbs e cdx. Não tivemos outra solução a não ser colocar um servidor de arquivos separado e optamos por Linux Samba, colocamos um Squid para gerenciar a internet. Hoje estamos vivendo melhor, sem travamento e sem dor de cabeça. Espero que minha informação tenha lhe dado alguma ideia. OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.