Hola, estoy intentando solucionar un problema que se me ha dado en un par de clientes cuando est谩n conectados por ADO a una base de datos MySQL en un servidor virtual.
Se producen desconexiones de la base de datos, cuando no hay actividad, as铆 que he pensado modificar ErrSysW de la siguiente forma para capturar el error e intentar que reconecte a la base de datos.
La variable M->oAnnos:oADO es una instancia de una clase que tengo para encapsular la conexi贸n ADO y cuyo m茅todo CONECTAR es el siguiente :
Lo que necesito es que cuando he reconectado a la base de datos no se salga del programa, como indico en el comentario de la l铆nea "return lRet"
Uso FWH1601, Harbour 3.2 y Bcc 7.0
Se producen desconexiones de la base de datos, cuando no hay actividad, as铆 que he pensado modificar ErrSysW de la siguiente forma para capturar el error e intentar que reconecte a la base de datos.
聽 cMessage 聽 = " 聽 Error description: " + ErrorMessage( e ) + CRLF
聽 聽cErrorLog += cMessage
聽 聽if AT ("WINOLE/1007", cMessage) # 0 .and. AT ("(0x800A0CB3)", cMessage) # 0
聽 聽 M->oAnnos:oADO:CONECTAR ()
聽 聽 nVeces := 1
聽 聽 do while nVeces < 5 .and. M->oAnnos:oADO:oCon = Nil
nVeces++
聽 聽 聽 聽 M->oAnnos:oADO:CONECTAR ()
聽 聽 enddo
聽 聽 if M->oAnnos:oADO:oCon # Nil
聽 聽 聽 聽 lRet := .t.
聽 聽 聽 聽 return lRet 聽 聽// Necesito que no se salga del programa. Actualmente me genera hb_out.log y se sale.
聽 聽 endif
聽 聽endifLa variable M->oAnnos:oADO es una instancia de una clase que tengo para encapsular la conexi贸n ADO y cuyo m茅todo CONECTAR es el siguiente :
method CONECTAR ()聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 class TAdo
聽 聽 ::oCon := FW_OpenAdoConnection( { "MYSQL", ::cServer, ::cDataBase, ::cUser, ::cClave }, .t. )
聽 聽 if ::oCon == Nil
聽 聽 聽 聽 ? 'Falla'
聽 聽 endif
return .t.Lo que necesito es que cuando he reconectado a la base de datos no se salga del programa, como indico en el comentario de la l铆nea "return lRet"
Uso FWH1601, Harbour 3.2 y Bcc 7.0