Página 1 de 1

MySQL desconectado...

Publicado: Lun Feb 10, 2014 5:25 pm
por Sommus - Reginaldo
Prezados,
Existe a necessidade de se alterar a data do sistema operacional, enquanto
minha aplicação está rodando... Porém, ocorre o erro "MySQL server has gone
away [# 2006]", pois o MySQL é desconectado, porém, a propriedade
:lConnected continua .T.
O problema somente ocorre se adianto a data. Ex: 10/02/2014 para 11/02/2014
Se voltar a data, não acontece o problema...
Para resolver o problema TEMPORARIAMENTE, coloquei a instrução
"oMySQL:lConnected:=.T." em um timer que toda a cada 1 milésimo de segundo,
veja bem, 1 milésimo e não 1000 milésimos...
Como resolver o problema DEFINITIVAMENTE?
A propriedade oMySQL:lConnected não deveria retornar .F., já que o banco
está DESCONECTADO?
Obrigado pela atenção,
Reginaldo

MySQL desconectado...

Publicado: Lun Feb 10, 2014 5:28 pm
por Sommus
Onde digo: "em um timer que toda a cada 1 milésimo de segundo"
Leia: "em um timer que roda a cada 1 milésimo de segundo"

MySQL desconectado...

Publicado: Jue Feb 13, 2014 10:28 am
por jfgimenez
Reginaldo,
> Existe a necessidade de se alterar a data do sistema operacional,
> enquanto minha aplicação está rodando... Porém, ocorre o erro "MySQL
> server has gone away [# 2006]", pois o MySQL é desconectado, porém, a
> propriedade :lConnected continua .T.
>
> O problema somente ocorre se adianto a data. Ex: 10/02/2014 para
> 11/02/2014
> Se voltar a data, não acontece o problema...
>
> Para resolver o problema TEMPORARIAMENTE, coloquei a instrução
> "oMySQL:lConnected:=.T." em um timer que toda a cada 1 milésimo de
> segundo, veja bem, 1 milésimo e não 1000 milésimos...
>
> Como resolver o problema DEFINITIVAMENTE?
> A propriedade oMySQL:lConnected não deveria retornar .F., já que o
> banco está DESCONECTADO?
me temo que eso no podemos controlarlo directamente desde Xailer, ya que
es el conector (libmysql.dll) el que se desconecta al detectar el cambio
de fecha.
No obstante, podrí­as probar si la conexión sigue estando activa con algo
así­:
TRY
oDB:Execute( "SHOW STATUS LIKE 'Uptime'" )
CATCH oError
IF oError:SubCode == 2006
oDB:Connect()
ENDIF
END
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

MySQL desconectado...

Publicado: Jue Feb 13, 2014 12:05 pm
por Sommus - Reginaldo
Caro Jose Gimenez,
Existe algum problema em rodar esse código em um Timer a cada 1
milisegundos?
Obrigado pela atenção,
Reginaldo
"Jose F. Gimenez" escreveu na notí­cia da
mensagem:52fc904f$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Reginaldo,
> Existe a necessidade de se alterar a data do sistema operacional, enquanto
> minha aplicação está rodando... Porém, ocorre o erro "MySQL server has
> gone away [# 2006]", pois o MySQL é desconectado, porém, a propriedade
> :lConnected continua .T.
>
> O problema somente ocorre se adianto a data. Ex: 10/02/2014 para
> 11/02/2014
> Se voltar a data, não acontece o problema...
>
> Para resolver o problema TEMPORARIAMENTE, coloquei a instrução
> "oMySQL:lConnected:=.T." em um timer que toda a cada 1 milésimo de
> segundo, veja bem, 1 milésimo e não 1000 milésimos...
>
> Como resolver o problema DEFINITIVAMENTE?
> A propriedade oMySQL:lConnected não deveria retornar .F., já que o banco
> está DESCONECTADO?
me temo que eso no podemos controlarlo directamente desde Xailer, ya que
es el conector (libmysql.dll) el que se desconecta al detectar el cambio
de fecha.
No obstante, podrí­as probar si la conexión sigue estando activa con algo
así­:
TRY
oDB:Execute( "SHOW STATUS LIKE 'Uptime'" )
CATCH oError
IF oError:SubCode == 2006
oDB:Connect()
ENDIF
END
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

MySQL desconectado...

Publicado: Vie Feb 14, 2014 9:30 am
por jfgimenez
Reginaldo,
> Existe algum problema em rodar esse código em um Timer a cada 1
> milisegundos?
me parece que 1ms es demasiado poco tiempo, y vas a estar saturando al
servidor todo el tiempo. Es sin contar que a tu programa no le queda
tiempo para hacer nada más entre una petición y otra.
Si lo único que quieres es controlar cuando se cambia la fecha/hora del
ordenador, entonces puedes usar el evento OnTimeChange de Application.
Puedes hacer algo así­:
Application:OnTimeChange := {|| ReconectarMySQL() }
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

MySQL desconectado...

Publicado: Vie Feb 14, 2014 1:45 pm
por Sommus - Reginaldo
Caro Jose Gimenez,
Não achei esse evento "OnTimeChange" na documentação. Quando ele é acionado?
Ao mudar a data? Ao mudar a Hora? Em cada minuto/segundo?
Obrigado pela atenção,
Reginaldo
"Jose F. Gimenez" escreveu na notí­cia da
mensagem:52fdd419$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Reginaldo,
> Existe algum problema em rodar esse código em um Timer a cada 1
> milisegundos?
me parece que 1ms es demasiado poco tiempo, y vas a estar saturando al
servidor todo el tiempo. Es sin contar que a tu programa no le queda
tiempo para hacer nada más entre una petición y otra.
Si lo único que quieres es controlar cuando se cambia la fecha/hora del
ordenador, entonces puedes usar el evento OnTimeChange de Application.
Puedes hacer algo así­:
Application:OnTimeChange := {|| ReconectarMySQL() }
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

MySQL desconectado...

Publicado: Vie Feb 14, 2014 1:46 pm
por jfgimenez
Reginaldo,
> Não achei esse evento "OnTimeChange" na documentação. Quando ele é
> acionado? Ao mudar a data? Ao mudar a Hora? Em cada minuto/segundo?
Se dispara sólo cuando se cambia la fecha/hora del sistema, no cuando el
reloj avanza normalmente.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

MySQL desconectado...

Publicado: Vie Feb 14, 2014 5:05 pm
por Sommus - Reginaldo
Funcionou perfeitamente! Obrigado!
"Jose F. Gimenez" escreveu na notí­cia da
mensagem:52fe101a$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Reginaldo,
> Não achei esse evento "OnTimeChange" na documentação. Quando ele é
> acionado? Ao mudar a data? Ao mudar a Hora? Em cada minuto/segundo?
Se dispara sólo cuando se cambia la fecha/hora del sistema, no cuando el
reloj avanza normalmente.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info