Page 1 of 1

LOST CONNECTION - At. Mr. Rao

PostPosted: Fri Jan 14, 2022 1:57 pm
by Marcelo Roggeri
Buenos días, estoy teniendo este error en un servidor remoto
La conexión se corta, he leído que la reconexión es automática, pero al ejecutar la sentencia SQL da error y se sale del sistema, a veces sigue el curso del programa, depende de la tarea.
Todo esto con la nativa.
Habrá alguna manera que ya este solucionado o tal vez configurar algo en el servidor? el cual yo desconozca.
Adjunto imagen del error.
Image
Desde ya les agradezco a quienes tengan alguna solución.
Saludos
Marcelo Roggeri

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Fri Jan 14, 2022 11:32 pm
by CARLOS ATUNCAR
Hola tengo una proceso que realizo antes de enviar una consulta para que se verifique la conexión

Function IsConexion(lWait)
local IsQry,aWait
local lConn:= .T.

DEFAULT lWait TO .F.

TRY
If lWait
WaitOn("Espere, Comprobando conexion....",@await )
EndIf
IsQry:= oServer:Query("Select 1")
IsQry:End()
If lWait
WaitOff( @aWait )
Endif

CATCH oError
If oError:SubCode=2013 .OR. oError:SubCode=1096
If lWait
WaitOn("Espere, intentando reconectar...",@aWait )
EndIf
While .t.
TRY
SysRefresh()
oServer:= NIL
oServer:= ConnectTo()
lSale:=.T.
CATCH oErr
lSale:=.F.
END
If lSale
Exit
EndIf
EndDo
If lWait
WaitOff( @aWait )
Endif
EndIf
lConn:=.F.
END

Return lConn

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Sat Jan 15, 2022 12:55 pm
by Marcelo Roggeri
Hola Carlos buenos días, muchas gracias por tu función, pruebo de implementarla y comento luego como me fue.
Saludos desde Argentina
Marcelo

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Sat Jan 15, 2022 1:05 pm
by Marcelo Roggeri
Carlos, fijate que puse el codigo entre etiquetas Code y hay un EndDo y un EndIf que sobra.
Podrias revisar la function tuya y pasarmela de nuevo?
Gracias
Code: Select all  Expand view
Function IsConexion(lWait)
         local IsQry,aWait
         local lConn:= .T.
         
         DEFAULT lWait TO .F.
         
         TRY
            If lWait
               WaitOn("Espere, Comprobando conexion....",@await )
            EndIf
            IsQry:= oServer:Query("Select 1")
            IsQry:End()
            If lWait
               WaitOff( @aWait )
            Endif
         
         CATCH oError
            If oError:SubCode=2013 .OR. oError:SubCode=1096
               If lWait
                  WaitOn("Espere, intentando reconectar...",@aWait )
               EndIf
               While .t.
                     TRY
                        SysRefresh()
                        oServer:= NIL
                        oServer:= ConnectTo()
                        lSale:=.T.
                     CATCH oErr
                        lSale:=.F.
               END
               If lSale
                  Exit
               EndIf
               EndDo
               If lWait
                  WaitOff( @aWait )
               Endif
               EndIf
               lConn:=.F.
         END
         
Return lConn
 

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Mon Jan 17, 2022 7:57 pm
by karinha
A mi, parece bien.

Code: Select all  Expand view

FUNCTION IsConexion( lWait )

   LOCAL IsQry, aWait
   LOCAL lConn := .T.

   DEFAULT lWait TO .F.

   TRY

      IF lWait

         WaitOn( "Espere, Comprobando conexion....", @await )

      ENDIF

      IsQry := oServer:Query( "Select 1" )

      IsQry:End()

      IF lWait

         WaitOff( @aWait )

      ENDIF

   CATCH oError

      IF oError:SubCode = 2013 .OR. oError:SubCode = 1096

         IF lWait

            WaitOn( "Espere, intentando reconectar...", @aWait )

         ENDIF

         WHILE( .T. )

            SysRefresh()

            TRY

               oServer := NIL
               oServer := ConnectTo()

               lSale   := .T.

            CATCH oErr

               lSale   := .F.

            END // TRY

            IF lSale

               EXIT

            ENDIF

         ENDDO

         IF lWait

            WaitOff( @aWait )

         ENDIF

      ENDIF

      lConn := .F.

   END // TRY

RETURN lConn
 


Regards, saludos.

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Mon Jan 17, 2022 8:39 pm
by Marcelo Roggeri
Ok gracias Karinha debo haberme mareado en su momento.
Saludos

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Wed Feb 02, 2022 11:46 am
by Marcelo Roggeri
Buenos días a todos, siguiendo con el hilo, como bien dijo Mr. Rao la reconexión la hace en forma automática, pero al reconectarse luego de haber estado varios minutos sin usar el sistema me da el siguiente error:
Code: Select all  Expand view
Application
===========
   Path and name: H:\Sistema\samvt\menu.exe (32 bits)
   Size: ********* bytes
   Compiler version: Harbour 3.2.0dev (r1801051438)
   FiveWin  version: FWH 21.11
   C compiler version: Borland/Embarcadero C++ 7.0 (32-bit)
   Windows version: 6.2, Build 9200

   Time from start: 0 hours 33 mins 37 secs
   Error occurred at: 01/02/2022, 19:57:49
   Error description: Error BASE/1081  Error de argumento: +
   Args:
     [   1] = C   SET @@TX_ISOLATION = '
     [   2] = U  

Stack Calls
===========
   Called from: .\source\internal\FWMARIA.PRG => FWMARIACONNECTION:INTRANSACTION( 6864 )
   Called from: .\source\internal\FWMARIA.PRG => (b)FWMARIACONNECTION( 5837 )
   Called from: .\source\internal\FWMARIA.PRG => FWMARIACONNECTION:BEGINTRANSACTION( 0 )
   Called from: .\source\classes\TARRDATA.PRG => TARRAYDATA:SAVETOMYSQL( 1717 )
   Called from: .\source\classes\TARRDATA.PRG => TARRAYDATA:SAVEDATA( 1566 )

Quedo a la espera de alguna ayuda.
Desde ya muchas gracias
Marcelo

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Wed Feb 02, 2022 7:27 pm
by Armando
Marcelo:

Yo hago lo siguiente y no he tenido problemas de caída de conexión

Code: Select all  Expand view

      oApp:oCon:Execute( "SET SESSION wait_timeout = 86400;" )
 


Para mayor explicación "échale un ojo" a este link

https://programmerclick.com/article/3236598340/

Espero te sirva.

Saludos

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Thu Feb 03, 2022 10:57 am
by Marcelo Roggeri
Hola Armando, he puesto esa línea, con Dolphin si lo hace, con la nativa no
De todas maneras gracias voy a leer el link que compartiste para ver si saco algo en claro.
Muchas gracias.
Saludos
Marcelo

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Thu Feb 03, 2022 11:58 am
by Marcelo Roggeri
Armando los tiros vienen por ahi, esa pagina que me pasaste esta muy buena, y los cambios de los valores que he hecho solo me los toma en localhost, nunca en el servidor remoto, por lo tanto me puse en contacto con quienes me brindan el servicio y ver como hago.
Code: Select all  Expand view
           cSql := "set GLOBAL interactive_timeout=7200;"
            oSql := oCn:Execute( cSql )
           
            cSql := "set GLOBAL wait_timeout=7200;"
            oSql := oCn:Execute( cSql )


            cSql := "show GLOBAL VARIABLES like '%timeout%';"
            oSql := oCn:Execute( cSql )
            xbrowse(oSql)
 

Adjunto el codigo de como lo hice, solo que a modo localhost si funciona
Con 7200=2Hs en forma remota me parece suficiente
Luego comento una vez que tenga respuesta
Saludos

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Fri Feb 04, 2022 12:58 am
by Armando
Marcelo:

Llevas razón, yo lo uso en una LAN, no he probado en un servidor remoto.

Saludos

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Fri Feb 04, 2022 1:20 pm
by Marcelo Roggeri
En los servidores remotos de pago esas variables son protegidas PROTECTED para el usuario final, por lo tanto solo los administradores lo pueden cambiar, al menos con mi proveedor.
Cuento esto por si a alguien le llega a pasar y se ahorre horas de probar.
Saludos

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Sun Feb 13, 2022 9:56 am
by nageswaragunupudi
Marcelo Roggeri wrote:Buenos días, estoy teniendo este error en un servidor remoto
La conexión se corta, he leído que la reconexión es automática, pero al ejecutar la sentencia SQL da error y se sale del sistema, a veces sigue el curso del programa, depende de la tarea.
Todo esto con la nativa.
Habrá alguna manera que ya este solucionado o tal vez configurar algo en el servidor? el cual yo desconozca.
Adjunto imagen del error.
Image
Desde ya les agradezco a quienes tengan alguna solución.
Saludos
Marcelo Roggeri


There is nothing to be done in the program.

This message is given to the user, so that he will check internet/cables, etc.

If the user gets this message, let him check and wait for internet connection. When the internet connection is restored, he can continue with the program.

Re: LOST CONNECTION - At. Mr. Rao

PostPosted: Sun Feb 13, 2022 2:10 pm
by Marcelo Roggeri
Ok muchas gracias Mr. Rao
Saludos
Marcelo