FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour UNRECOVERABLE ERROR 1010
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
UNRECOVERABLE ERROR 1010
Posted: Thu Jun 12, 2008 03:02 PM

Este erro me acontece as vezes no meu sistema, e não chega nem a gerar o ERROR.LOG, aparece uma janelinha no sistema:

UNRECOVERABLE ERROR 1010:
hb_cdxIndexPageRead: Read index page failed.

E fecha o sistema, e no error.log consta apenas :
hb_cdxIndexPageRead: Read index page failed.

Já recriei on indices, fiz de tudo e continua a acontecer este erro.

Uso DBFCDX;

A minha pergunta é:

É POSSÍVEL FAZER O FIVEWIN NÃO DEIXAR O SISTEMA FECHAR SE ESTE ERRO ACONTECER?
COMO ELE FAZ QUANDO ACONTECE UM ERRO DE DIVISÃO.

Por favor me ajudem

ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
UNRECOVERABLE ERROR 1010
Posted: Thu Jun 12, 2008 07:44 PM

HOUVE QUEDA DE ENERGIA?? ISTO É MUITO IMPORTANTE.

MAQUINA NAO ESTA INFECTADA COM VIRUS? ATENTE A ISTO.

QUANDO VOCE ACIONA O INDEXADOR, DESTROI INDICE POR INDICE?

ABRA O BANCO DE DADOS PELO FOX.EXE OU DBASE.EXE E VERIFIQUE A INTEGRIDADE DO MESMO.

DE UM SORT NO BANCO PARA OUTRO NOME, CRIE UM BANCO DE DADOS NOVO COM O DBCREATE() OU SE JA TIVER O BANCO DE DADOS ZERADO, DE UM APPEND FROM NO BANCO QUE VOCE MANDOU SORTEAR.

NAO USE MAIS O BANCO QUE CAUSOU ESTA FALHA, POIS O CABEÇALHO DO MESMO, PODE ESTAR DANIFICADO, DAI NÃO ADIANTA INDEXAR.

Saudacoes.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 84
Joined: Wed Nov 09, 2005 11:22 PM
UNRECOVERABLE ERROR 1010
Posted: Thu Jun 12, 2008 07:59 PM

Cara
esse erro é muito comum.

Ele ocorre na leitura do arquivo cdx

Basta deletar os arquivos .cdx e reconstrui-los.

Em meus programas isso é feito automaticamente sempre que há uma queda do sistema.

[]'s

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
UNRECOVERABLE ERROR 1010
Posted: Thu Jun 12, 2008 08:32 PM
VOCE PODE CHECAR A INTEGRIDADE DO INDICE DE QUALQUER ARQUIVO ASSIM:

    //-> Abertura do Banco de Dados.
    IF NetUse( "CLIENTES", .T. )
        OrdListAdd( "CLIENTES", "CODIGO", "NOMECLI" ) // Ordem dos Indices.
        OrdDescend( ,,.F. )            // - Decrescente
        DATABASE oDbfClientes          // - Como Escrevemos em Ingles
        oDbfClientes:Load()
        oDbfClientes:GoTop()
        oDbfClientes:SetBuffer( .T. )
     ELSE
        MsgStop( "Banco de Dados CLIENTES.DBF Bloqueado", "Cuidado!" )
        RETURN NIL
    ENDIF

    IF ORDKEYCOUNT() # RECCOUNT()

       VERCDX("CLIENTES")

    ENDIF


STATIC FUNCTION VERCDX( ARQUIVO )


    //-> Mande mensagem ao usuario e dispare para o INDEXADOR
    MsgInfo( "Atencao: Reindexar os Bancos de Dados Com Urgencia Agora" +CRLF+ ;
              "Arquivo Danificado: " + ARQUIVO )

    DbCLoseAll()

    //-> Chame o Reindexador
    Reindexa()

    __Quit()

RETURN NIL
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion