Preciso de uma opinião..... Conexão com banco de dados fica caindo..

Delphi

07/05/2015

Em primeiro lugar boa noite pra galera que mais entende de Delphi!!! Bem pessoal é o seguinte.. Tenho uma aplicação que se conecta ao servidor mysql online uso a hospedagem do host gator.. so que depois de alguns instantes após abrir a aplicação e fazer várias operações como consulta e inserção de dados no banco tudo funcionando normal.. vem esta mensagem "MySQL server has gone away"

falei com o pessoal do hostgator e eles me falaram que se passar 300 segundos em inatividade a a conexão é derrubada automaticamente e agora o que fazer???

Detalhes..
Delphi XE5
Dbexpress
MYsql (conforme já mencionado)
Jhonatan Amaral

Jhonatan Amaral

Curtidas 0

Respostas

Marcos P

Marcos P

07/05/2015

300 segundos ou milisegundos ?

Se forem 300 segundos ( 5 minutos ), não parece ser assim tão crítico.

Faça um teste simples :

1. Conecte no banco
2. Inicie um loop
3. Faça um select qualquer
4. Faça um sleep de 10 segundos
5. Itere o loop

Se a conexão ficar no ar por mais de cinco minutos, você comprova o que lhe foi informado pelo pessoal da hospedagem.

Você também pode aumentar o sleep para mais de 5 minutos e verá a conexão ser derrubada...
( só pra confirmar )

Se for isso mesmo, você pode criar uma thread no sistema, que rode direto e a cada xxx segundos ( isso pode ser uma parâmetro variável do sistema ), teste se existe alguma conexão ativa e ( caso não exista ) derrube e refaça a conexão ( ou, de maneira alternativa, rode uma query qualquer para manter a conexão ativa...).
GOSTEI 0
Mateus Carvalho

Mateus Carvalho

07/05/2015

Cara, eu tive o mesmo problema, e eu resolve assim:

Coloquei um timer, e no timer o seguinte código:

fdconnection1.ping;



Ai, toda vez que eu conectava no servidor, eu habilitava esse timer. Aqui funcionou.
GOSTEI 0
Hardsoft Informática

Hardsoft Informática

07/05/2015

Mas como assim, habilitava o timer???? Se poderia explicar melhor, estou com esse problema...
GOSTEI 0
POSTAR