Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby mterraz » Wed Aug 07, 2024 2:47 pm

Estimados colegas,
Tengo una aplicación que funciona en red con varias terminales acceden a una base de datos que esta localizada en un servidor de red y en forma aleatoria y dependiendo de las características y la calidad de la red que tenga instalada aparecen estos mensajes de error en xbrowse.

Según la información que obtengo del errorlog entiendo que para este error las causas podrían ser las detallas debajo, y mi consulta es acerca de la posibilidad o existencia de algún parámetro en las conexiones para que reintente la reconexión a las base de datos en caso de desconexión y no se de el error mencionado?

Esto puede ocurrir por varios motivos:
=======================================

1) Si está usando comunicación por WIFI y la señal es
de mala calidad o el trafico muy lento.
2) Por demora en la reconexión de la terminal
si esta ha estado mucho tiempo inactiva.
3) Por errores en alguna placa de red o en el
cableado de la misma.
4) Por algún otro motivo relacionado con la Red.

Applicación
===========
Path and name: Z:\winfar64.exe (32 bits)
Size: 7,077,888 bytes
Compiler version: Harbour 3.2.0dev (r2008190002)
FiveWin version: FWH 18.03
C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
Windows version: 6.2, Build 9200

Time from start: 1 hours 22 mins 23 secs
Error ocurrido: 07/08/24, 11:16:19
Description del error: (DOS Error 59) DBFCDX/1010 Read error: .\data\wfprodu.dbf

Stack Calls
===========
Llamado desde: => __DBSKIPPER( 0 )
Llamado desde: .\source\classes\XBROWSE.PRG => (b)TXBROWSE_SETRDD( 5059 )
Llamado desde: .\source\classes\XBROWSE.PRG => (b)TXBROWSE( 511 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:SKIP( 0 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1997 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1794 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1697 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 10516 )
Llamado desde: .\source\classes\WINDOW.PRG => _FWH( 3388 )
Llamado desde: => MSGALERT( 0 )
Llamado desde: .\winerror.prg => (b)ERRORDIALOG( 481 )
Llamado desde: .\source\classes\DIALOG.PRG => (b)TDIALOG( 93 )
Llamado desde: .\source\classes\DIALOG.PRG => TDIALOG:DISPLAY( 0 )
Llamado desde: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT( 894 )
Llamado desde: => DIALOGBOXINDIRECT( 0 )
Llamado desde: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 286 )
Llamado desde: .\winerror.prg => ERRORDIALOG( 484 )
Llamado desde: .\winerror.prg => (b)ERRORSYS( 38 )
Llamado desde: => __DBSKIPPER( 0 )
Llamado desde: .\source\classes\XBROWSE.PRG => (b)TXBROWSE_SETRDD( 5059 )
Llamado desde: .\source\classes\XBROWSE.PRG => (b)TXBROWSE( 511 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:SKIP( 0 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1997 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1794 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1697 )
Llamado desde: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 10516 )
Llamado desde: .\source\classes\WINDOW.PRG => _FWH( 3388 )
Llamado desde: => DIALOGBOX( 0 )
Llamado desde: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 286 )
Llamado desde: .\wintiket.prg => BUSCAPROD( 5040 )
Llamado desde: .\wintiket.prg => (b)TICKET( 500 )
Llamado desde: .\source\classes\TGET.PRG => TGET:LVALID( 1736 )
Llamado desde: .\source\classes\CONTROL.PRG => TGET:FWLOSTFOCUS( 1136 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1706 )
Llamado desde: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 883 )
Llamado desde: .\source\classes\WINDOW.PRG => _FWH( 3388 )
Llamado desde: => SYSREFRESH( 0 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:KEYCHAR( 827 )
Llamado desde: .\source\classes\TGET.PRG => TGET:KEYCHAR( 1632 )
Llamado desde: => TWINDOW:HANDLEEVENT( 0 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1731 )
Llamado desde: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 883 )
Llamado desde: .\source\classes\WINDOW.PRG => _FWH( 3388 )
Llamado desde: => DIALOGBOX( 0 )
Llamado desde: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 286 )
Llamado desde: .\wintiket.prg => TICKET( 1455 )
Llamado desde: .\winfar64.prg => (b)MAIN( 509 )
Llamado desde: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 693 )
Llamado desde: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 944 )
Llamado desde: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1721 )
Llamado desde: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1909 )
Llamado desde: .\source\classes\WINDOW.PRG => _FWH( 3388 )
Llamado desde: => WINRUN( 0 )
Llamado desde: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1043 )
Llamado desde: .\winfar64.prg => MAIN( 1059 )

System
======
CPU type: Intel(R) Pentium(R) CPU G3250 @ 3.20GHz 3193 Mhz
Hardware memory: 3991 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Windows total applications running: 5
1 ,
2 , Z:\winfar64.exe
3 BUSQUEDA DE PRODUCTOS, Z:\winfar64.dll
4 ERROR DE RED, C:\WINDOWS\System32\USER32.dll
5 GDI+ Window (epson2g.exe), C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.4597_none_d954b6f7e1016a

Desde ya muchas gracias, saludos Mariano
mterraz
 
Posts: 54
Joined: Mon Jun 10, 2013 1:21 pm

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby karinha » Wed Aug 07, 2024 3:09 pm

Code: Select all  Expand view  RUN

FAIL[ 59 ] = "UNEXPECTED NETWORK ERROR - CALL NETWORK TECHNICIAN."
 


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby karinha » Wed Aug 07, 2024 3:11 pm

Use google translate, pls.

IN ERRSYSW.PRG TRY,

Code: Select all  Expand view  RUN

   IF .NOT. EMPTY( e:osCode )  // INCLUIDO EM: 17/01/2014 - Joao

      ? DOSErro( e:osCode )

   ENDIF

FUNCTION DOSERRO( QUAL )  

   PRIVATE FALHA[ 999 ]

   IF QUAL = 0 .OR. QUAL > 120
      QUAL = 999
   ENDIF

   // FAIL
   FALHA[ 1 ]  = "NUMERO DE FUNCAO INVALIDA"
   FALHA[ 2 ]  = "ARQUIVO NAO ENCONTRADO NA PASTA DO PLENO: VERIFIQUE SUA REDE. "+ ;
                 "TEM UMA FALHA DE COMUNICACAO DO SEU COMPUTADOR COM O SERVIDOR "+ ;
                 "DE ARQUIVOS."
   FALHA[ 3 ]  = "CAMINHO OU ARQUIVO NAO ENCONTRADO"
   FALHA[ 4 ]  = "MUITOS ARQUIVOS ABERTOS"
   FALHA[ 5 ]  = "ACESSO NEGADO - LIBERE O ACESSO A PASTA ACIMA - CHAME O TECNICO."
   FALHA[ 6 ]  = "HANDLE INVALIDO - PROBELMAS NO HD."
   FALHA[ 7 ]  = "BLOCO DE CONTROLE DE MEMORIA DESTRUIDO"
   FALHA[ 8 ]  = "MEMORIA INSUFICIENTE - COLOQUE MAIS MEMORIA RAM"
   FALHA[ 9 ]  = "ENDERECO DE BLOCO DE MEMORIA INVALIDO"
   FALHA[ 10 ] = "DISPOSITIVO INVALIDO"
   FALHA[ 11 ] = "FORMATACAO INVALIDA"
   FALHA[ 12 ] = "CODIGO DE ACESSO INVALIDO"
   FALHA[ 13 ] = "DADOS INVALIDOS"
   FALHA[ 14 ] = "RESERVADO PARA USO FUTURO 14"
   FALHA[ 15 ] = "ACIONADOR DE DISCO(DRIVE) INVALIDO"
   FALHA[ 16 ] = "TENTOU REMOVER DO DIRETORIO CORRENTE"
   FALHA[ 17 ] = "DISPOSITIVO NAO E O MESMO"
   FALHA[ 18 ] = "NAO HA MAIS ARQUIVO"
   FALHA[ 19 ] = "DISCO PROTEGIDO CONTRA GRAVACAO - LIBERE O ACESSO DO HD."
   FALHA[ 20 ] = "UNIDADE DE DISCO DESCONHECIDA"
   FALHA[ 21 ] = "IMPOSSIVEL LEITURA DE DISCO - CHAME O TECNICO."
   FALHA[ 22 ] = "COMANDO DESCONHECIDO"
   FALHA[ 23 ] = "INFORMACAO ERRADA(CRC)"
   FALHA[ 24 ] = "COMPRIMENTO DA ESTRUTURA ESTA RUIM"
   FALHA[ 25 ] = "ERRO NA PESQUISA(SEEK)"
   FALHA[ 26 ] = "UNIDADE DE ARMAZENAGEM(MIDIA) DESCONHECIDO"
   FALHA[ 27 ] = "SETOR NAO ENCONTRADO - PROBLEMAS NO HD."
   FALHA[ 28 ] = "ACABOU O PAPEL DA IMPRESSORA"
   FALHA[ 29 ] = "GRAVACAO INVALIDA"
   FALHA[ 30 ] = "LEITURA INVALIDA"
   FALHA[ 31 ] = "FALHA GERAL- CHAME O TECNICO URGENTE."
   FALHA[ 32 ] = "VIOLACAO DE COMPARTILHAMENTO"
   FALHA[ 33 ] = "TENTATIVA DE ACESSAR UM ARQUIVO BLOQUEADO"
   FALHA[ 34 ] = "MUDANCA DE DISCO INVALIDA"
   FALHA[ 35 ] = "TENTATIVA DE ABRIR MAIS ARQUIVOS DO QUE O DEFINIDO NO COMANDO FCBS."
   FALHA[ 36 ] = "ESTOURO NO BUFFER DE COMPARTILHAMENTO."
   FALHA[ 37 ] = "RESERVADO PARA USO FUTURO 37"
   FALHA[ 38 ] = "RESERVADO PARA USO FUTURO 38"
   FALHA[ 39 ] = "RESERVADO PARA USO FUTURO 39"
   FALHA[ 40 ] = "RESERVADO PARA USO FUTURO 40"
   FALHA[ 41 ] = "RESERVADO PARA USO FUTURO 41"
   FALHA[ 42 ] = "RESERVADO PARA USO FUTURO 42"
   FALHA[ 43 ] = "RESERVADO PARA USO FUTURO 43"
   FALHA[ 44 ] = "RESERVADO PARA USO FUTURO 44"
   FALHA[ 45 ] = "RESERVADO PARA USO FUTURO 45"
   FALHA[ 46 ] = "RESERVADO PARA USO FUTURO 46"
   FALHA[ 47 ] = "RESERVADO PARA USO FUTURO 47"
   FALHA[ 48 ] = "RESERVADO PARA USO FUTURO 48"
   FALHA[ 49 ] = "RESERVADO PARA USO FUTURO 49"
   FALHA[ 50 ] = "REDE REQUERIDA NAO SUPORTADA"
   FALHA[ 51 ] = "COMPUTADOR REMOTO NAO ESTA RESPONDENDO"
   FALHA[ 52 ] = "NOME DA REDE DUPLICADO"
   FALHA[ 53 ] = "NOME DA REDE NAO ENCONTRADO"
   FALHA[ 54 ] = "REDE OCUPADA."
   FALHA[ 55 ] = "DISPOSITIVO DE REDE NAO MAIS EXISTENTE"
   FALHA[ 56 ] = "LIMITE DE COMANDOS DA BIOS EXCEDIDO"
   FALHA[ 57 ] = "ERRO DE HARDWARE NA PLACA DA REDE"
   FALHA[ 58 ] = "RESPOSTA INCORRETA DA REDE"
   FALHA[ 59 ] = "ERRO INESPERADO NA REDE - CHAME O TECNICO DE REDE."
   FALHA[ 60 ] = "PLACA REMOTA INCOMPATIVEL"
   FALHA[ 61 ] = "FILA DE IMPRESSAO ESTA CHEIA"
   FALHA[ 62 ] = "NAO EXISTE ESPACO SUFICIENTE PARA O ARQUIVO DE IMPRESSAO."
   FALHA[ 63 ] = "ARQUIVO DE IMPRESSAO ELIMINADO(ESPACO INSUFICIENTE)"
   FALHA[ 64 ] = "NOME DA REDE ELIMINADO/SERVIDOR NAO ENCONTRADO"
   FALHA[ 65 ] = "ACESSO NAO PERMITIDO - LIBERE O ACESSO A PASTA ACIMA."
   FALHA[ 66 ] = "TIPO INCORRETO DE DISPOSITIVO DE REDE"
   FALHA[ 67 ] = "NOME DA REDE NAO ENCONTRADO"
   FALHA[ 68 ] = "LIMITE EXCEDIDO PARA O NOME DA REDE"
   FALHA[ 69 ] = "LIMITE DE SESSAO DA BIOS EXCEDIDO NA REDE"
   FALHA[ 70 ] = "PAUSA TEMPORARIA"
   FALHA[ 71 ] = "PEDIDO DE REDE NEGADO"
   FALHA[ 72 ] = "DISPOSITIVO DA IMPRESSORA OU DISCO PAUSADO."
   FALHA[ 73 ] = "RESERVADO PARA USO FUTURO 73"
   FALHA[ 74 ] = "RESERVADO PARA USO FUTURO 74"
   FALHA[ 75 ] = "RESERVADO PARA USO FUTURO 75"
   FALHA[ 76 ] = "RESERVADO PARA USO FUTURO 76"
   FALHA[ 77 ] = "MEMORIA INSUFICIENTE PARA OPERAR O EQUIPAMENTO. CHAME O TECNICO."
   FALHA[ 78 ] = "RESERVADO PARA USO FUTURO 78"
   FALHA[ 79 ] = "RESERVADO PARA USO FUTURO 79"
   FALHA[ 80 ] = "ARQUIVO JA EXISTENTE NO DISCO(HD)"
   FALHA[ 81 ] = "RESERVADO PARA USO FUTURO 81"
   FALHA[ 82 ] = "IMPOSSIVEL CRIAR DIRETORIO"
   FALHA[ 83 ] = "OCORREU FALHA EM INT 24H DO DOS"
   FALHA[ 84 ] = "EXCESSOS DE REDIRECIONAMENTOS"
   FALHA[ 85 ] = "REDIRECIONAMENTO DUPLICADO"
   FALHA[ 86 ] = "SENHA INVALIDA"
   FALHA[ 87 ] = "PARAMETRO INVALIDO OU INCORRETO."
   FALHA[ 88 ] = "ERRO AO ESCREVER PARA A REDE. DEFEITO TCNICO."
   FALHA[ 89 ] = "NENHUM ERRO OCORRIDO!"
   FALHA[ 90 ] = "erro de sistema."
   FALHA[ 91 ] = "Temporizador da tabela do serviço de transbordo."
   FALHA[ 92 ] = "Temporizador serviço tabela duplicar."
   FALHA[ 93 ] = "Nenhum item para trabalhar."
   FALHA[ 95 ] = "chamada de sistema interrompida."
   FALHA[ 99 ] = "Dispositivo em uso."
   FALHA[100]  = "usuário / sistema de limite de abertura do semáforo atingido."
   FALHA[101]  = "Exclusivo semáforo já possuía."
   FALHA[102]  = "DosCloseSem encontrada conjunto de semáforos."
   FALHA[103]  = "Há muitas solicitações de semáforos exclusivos."
   FALHA[104]  = "Operação inválida em tempo de interrupção."
   FALHA[105]  = "proprietário do semáforo anterior encerrado sem libertar semáforo."
   FALHA[106]  = "limite de Semaphore excedido."
   FALHA[107]  = "Insira o disco rígido B na unidade A."
   FALHA[108]  = "Unidade bloqueado por outro processo."
   FALHA[109]  = "Escreva no tubo com nenhum leitor."
   FALHA[110]  = "Open / Create falhou devido a ordem explícita falhar."
   FALHA[111]  = "Tampão passado para chamada de sistema muito pequeno para armazenar dados de retorno."
   FALHA[112]  = "Não há espaço suficiente no disco. Disco Cheio. Chame o Tecnico."
   FALHA[113]  = "Não é possível alocar uma outra estrutura de pesquisa e manusear."
   FALHA[114]  = "Alvo punho em DosDupHandle inválido."
   FALHA[115]  = "Usuário inválido endereço virtual."
   FALHA[116]  = "Erro na gravação de exibição ou o teclado ler."
   FALHA[117]  = "Categoria de DevIOCtl não definido."
   FALHA[118]  = "valor inválido passado para verificar bandeira."
   FALHA[119]  = "Nível quatro motorista não foi encontrado."
   FALHA[120]  = "Função Chamada inválida."
   FALHA[161]  = "Nome do caminho do PLENO inválido para a NF-e. Verifique o Icone da NF-e se o caminho esta igual ao do PLENO"
   FALHA[999]  = "ERRO NAO CATALOGADO INFORME O NUMERO DO ERRO AO SUPORTE."

RETURN( "PROBLEMA: " + FALHA[ QUAL ] )
 


https://groups.google.com/g/minigui-forum/c/BktBWRDGCw0?pli=1

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby paquitohm » Wed Aug 07, 2024 3:21 pm

Hola,

mterraz wrote:mi consulta es acerca de la posibilidad o existencia de algún parámetro en las conexiones para que reintente la reconexión a las base de datos en caso de desconexión y no se de el error mencionado?


IMHO, si el problema es de mala conexion lo que habria que hacer es asegurar la estabilidad de la conexion porque el problema no son sólo los errores, que también, sino que más antes que después se van a corromper los datos y los indices y/o perderá la integridad referencial, porque en el mejor de los casos se podría controlar el reintento en comandos SKIP, REPLACE, GO TOP, etc, pero lo que si que no podemos controlar, por ejemplo, es la actualizacion de indices (ntx o cdx) que es algo que a nosotros se nos escapa porque lo hace automaticamente el lenguaje.

Esto tambien le ocurrió a algun compañero de un grupo amigo: https://groups.google.com/g/minigui-forum/c/BktBWRDGCw0

Salu2
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby mterraz » Wed Aug 07, 2024 3:54 pm

Buenas tardes, aquí muy atento a todas sus recomendaciones y a los datos e ideas que me compartieron, son de mucha ayuda y utlidad.
Voy a comenzar a implementar el tema de la función con el manejo del error, va a ser difícil porque es un programa bastante extenso y los accesos a las bases de datos bastante constantes, por lo menos en los lugares mas utilizados y criticos lo voy a implementar.

Saludos, muchas gracias por la ayuda y quedo a su disposición.
mterraz
 
Posts: 54
Joined: Mon Jun 10, 2013 1:21 pm

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby mterraz » Wed Aug 07, 2024 5:59 pm

Estimados, implementando la solución propuesta me surge una duda a cerca de la modificación en la función de manejo de errores.

Llamado desde: .\winerror.prg => (b)ERRORSYS( 38 )
Llamado desde: => __DBSKIPPER( 0 )

en el archivo de manejo de errores winerror.prg tengo,

// Note: automatically executes at startup

proc ErrorSys()
ErrorBlock( { | e | ErrorDialog( e ) } )
return

Me podrían aclarar como quedaría la modificación propuesta a esa parte del codigo?

IF .NOT. EMPTY( e:osCode ) // INCLUIDO EM: 17/01/2014 - Joao

? DOSErro( e:osCode )

ENDIF

creo con esto podría evitar efectivamente que el programa se cierre por este tipo de errores de acceso a los recursos en la red, gracias!!!.
En la funcion static function ErrorDialog( e ) ya estoy mostrando un mensaje de alerta en caso que sea error 59.. pero no ayuda a que no se cierre el programa.

static function ErrorDialog( e )
oDlg:bStart:= { || if( e:osCode = 59,;
msgAlert( 'Se ha producido un error en la Lectura de Datos'+CRLF+;
'a través de la Red.'+CRLF+CRLF+;
'Esto puede ocurrir por varios motivos:'+CRLF+;
'======================================='+CRLF+CRLF+;
'1) Si está usando comunicación por WIFI y la señal es'+CRLF+;
' de mala calidad o el trafico muy lento.'+CRLF+;
'2) Por demora en la reconexión de la terminal'+CRLF+;
' si esta ha estado mucho tiempo inactiva.'+CRLF+;
'3) Por errores en alguna placa de red o en el'+CRLF+;
' cableado de la misma.'+CRLF+;
'4) Por algún otro motivo relacionado con la Red.'+CRLF+CRLF+;
'Si este error se repite, verifique todo lo relacionado'+CRLF+;
'con los puntos detallados más arriba.','ERROR DE RED') , NIL) ,;
Syswait(1.5),if( oP:lError, SendMail(),NIL) }

Saludos Mariano
mterraz
 
Posts: 54
Joined: Mon Jun 10, 2013 1:21 pm

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby karinha » Wed Aug 07, 2024 7:14 pm

EN ERRSYSW.PRG

Code: Select all  Expand view  RUN

Aqui:

   // Error object analysis
   cMessage   = "   Error description: " + ErrorMessage( e ) + CRLF
   cErrorLog += cMessage

   IF .NOT. EMPTY( e:osCode )  // INCLUIDO EM: 22/04/2021 - Joao

      ? DOSErro( e:osCode )  // mostra a falha +- linha: 681

      // ShellExecute(GetActiveWindow(),"open",'"'+cErroRede+'"', 0)

   ENDIF

asta aqui
   if ValType( e:Args ) == "A"  // no copie esto ya ejiste.
 


¿Estás utilizando la RED vía WI-FI?

Regards saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby paquitohm » Wed Aug 07, 2024 7:21 pm

mterraz wrote:Estimados, implementando la solución propuesta me surge una duda a cerca de la modificación en la función de manejo de errores.

Llamado desde: .\winerror.prg => (b)ERRORSYS( 38 )
Llamado desde: => __DBSKIPPER( 0 )

en el archivo de manejo de errores winerror.prg tengo,

// Note: automatically executes at startup

proc ErrorSys()
ErrorBlock( { | e | ErrorDialog( e ) } )
return

Me podrían aclarar como quedaría la modificación propuesta a esa parte del codigo?

IF .NOT. EMPTY( e:osCode ) // INCLUIDO EM: 17/01/2014 - Joao

? DOSErro( e:osCode )

ENDIF

creo con esto podría evitar efectivamente que el programa se cierre por este tipo de errores de acceso a los recursos en la red, gracias!!!.
En la funcion static function ErrorDialog( e ) ya estoy mostrando un mensaje de alerta en caso que sea error 59.. pero no ayuda a que no se cierre el programa.

static function ErrorDialog( e )
oDlg:bStart:= { || if( e:osCode = 59,;
msgAlert( 'Se ha producido un error en la Lectura de Datos'+CRLF+;
'a través de la Red.'+CRLF+CRLF+;
'Esto puede ocurrir por varios motivos:'+CRLF+;
'======================================='+CRLF+CRLF+;
'1) Si está usando comunicación por WIFI y la señal es'+CRLF+;
' de mala calidad o el trafico muy lento.'+CRLF+;
'2) Por demora en la reconexión de la terminal'+CRLF+;
' si esta ha estado mucho tiempo inactiva.'+CRLF+;
'3) Por errores en alguna placa de red o en el'+CRLF+;
' cableado de la misma.'+CRLF+;
'4) Por algún otro motivo relacionado con la Red.'+CRLF+CRLF+;
'Si este error se repite, verifique todo lo relacionado'+CRLF+;
'con los puntos detallados más arriba.','ERROR DE RED') , NIL) ,;
Syswait(1.5),if( oP:lError, SendMail(),NIL) }

Saludos Mariano


¿ Y qué hará vd. cuando el error se produzca durante la actualización del indice y sea del tipo irrecuperable, por poner un ejemplo Unrecoverable error 1010: hb_cdxIndexPageRead: Read index page failed. que me pareciera evidente que se le van a producir ?
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby mterraz » Thu Aug 08, 2024 12:12 pm

Buen dia Paquito, con respecto a tu consulta todavía estoy en el proceso de ver que solución le puedo encontrar para que la conexión sea mas estable desde la parte de infraestructura de red, con respecto al software hasta el momento pude implementar esa función que al menos avisa y si es un error conocido explica el motivo... de todas formas todavía no es lo que busco porque el programa se sigue cerrando inesperadamente.

Muchas gracias y sigo aquí con las pruebas... cualquier otra recomendación lo voy a tener presente.
Abrazo grande, Mariano.
mterraz
 
Posts: 54
Joined: Mon Jun 10, 2013 1:21 pm

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby wilsongamboa » Fri Aug 09, 2024 11:36 am

Buenos días
Has pensado en usar advantage database server con eso creo que eliminarías el problema y sin mucho esfuerzo si quieres probar me avisas estaré gustoso de ayudarte
Un abrazo
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 595
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby J. Ernesto » Fri Aug 09, 2024 11:51 pm

Hola terraz
Revisa lo siguiente:
1- La categoría del cableado (recomendado categoría 6), en cada una de las terminales,
2- Switch gigabyte,
3- El puerto RJ45 LAN de cada pc debe ser de gigabyte, si un puerto lan de un pc es diferente, esto enlentece a la red y puede causar esos efectos que dices.

Saludos.
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Description del error: (DOS Error 59) DBFCDX/1010 Read erro

Postby karinha » Sat Aug 10, 2024 2:18 pm

Buen día. En el caso del ERROR 59 de DOS lo mejor es llamar siempre al TÉCNICO DE RED.

https://vivaclipper.wordpress.com/tag/dos-error-messages/

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 41 guests