Page 1 of 1

UNRECOVERABLE ERROR 1010

Posted: Thu Jun 12, 2008 3:02 pm
by MGA
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

Posted: Thu Jun 12, 2008 7:44 pm
by karinha
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.

Posted: Thu Jun 12, 2008 7:59 pm
by rogerio
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

Posted: Thu Jun 12, 2008 8:32 pm
by karinha
VOCE PODE CHECAR A INTEGRIDADE DO INDICE DE QUALQUER ARQUIVO ASSIM:

Code: Select all



    //-> 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