VERIFICAR SE CONEXAO COM O BANCO ESTA ABERTA

CSAPI 19/08/2012 19:38:53
#408165
Boa noite galera,
Estou com uma duvida e gostaria da ajuda dos amigos.
Tenho um sistema que usa um banco de dados mysql hospedado na locaweb, e por questão de segurança a locaweb fecha a conexão com o banco a cada 15 segundos através de um time no servidor deles.
alguém teria algum exemplo de código de como eu poderia verificar se a minha conexão com o banco mysql ainda esta aberta antes de fazer algum procedimento como select por exemplo.

aguardo um resposta dos colegas!!
FEDERHEN 20/08/2012 08:03:53
#408177
Resposta escolhida
Sugiro que voce abra a conexão antes de cada operação com o banco e logo apos voce fecha novamente.
Assim você estará com a conexão ok quando precisa e não permanecerá com ela aberta desnecessáriamente.
Os DBAs alegam que manter a conexão com o banco somente o necessário deixa o servidor menos lento.
CSAPI 20/08/2012 09:28:33
#408184
Obrigado pela resposta, mas quando eu fecho a conexão e abro ela novamente ocoore uma certa demora, ou seja o sistema demora alguns segundos para reabrir a conexão, e as vezes a conexão ja esta aberta não havendo necessidade de reabrir a mesma, o que eu gostaria era de lagum comando que verificasse isso, ja usei o state = 1 e não deu certo o mesmo ocorreu quando tentei usar o comando status também não deu certo alguem teria algum exemplo de procedimento que testesse se a conexão esta aberta!!!

Obrigado
VELDRAME 20/08/2012 09:39:55
#408185
Sei que você já usou o STATE, mas que eu saiba só tem esse, eu uso assim:
conexao.state = 1 -> Aberto
conexao.state = 0 -> Fechada
Logo,

if conn.state = 0 then
conn.open
end if
ALTAFIN 20/08/2012 11:59:08
#408203
Csapi, eu também tenho banco na Locaweb mas só acesso via páginas hospedadas, a melhor solução é a do FEDERHEN.
Só mais um detalhe, veja este artigo no blog da Locaweb que informa sobre conexões externas no MySql.
Eles permitem conexões ilimitadas de páginas [txt-color=#e80000]hospedadas[/txt-color] nos servidores da Locaweb, se você tem um sistema Desktop acessando a base na Locaweb eles permitem apenas 1 conexão externa (informações que achei na Wikipédia da Locaweb, estou sem endereço agora) para realizar manutenção na base de dados ou backup.
Marcelo
Tópico encerrado , respostas não são mais permitidas