Fórum Preciso de uma opinião..... Conexão com banco de dados fica caindo.. #519174

07/05/2015

0

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

Responder

Posts

07/05/2015

Marcos P

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...).
Responder

Gostei + 0

11/05/2015

Mateus Carvalho

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.
Responder

Gostei + 0

06/09/2016

Hardsoft Informática

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

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar