CONEXÕES ADORMECIDAS
A cada dia um novo problema e a tentativa de uma solução.
Recentemente comecei uns testes com um sistema novo. A cada rodada as coisas iam sendo corrigidas e adequadas a situação. Então um belo dia me veio esse erro [Ô]too many connections[Ô]. Pesquisei sobre o erro e algumas respostas era que o número de conexões estava estourado. Não era possÃvel novas conexões. Mas, a única pessoa que estava realizando essa conexão era eu. Então li sobre matar conexões adormacidas. Pesquisei uma rotina em Vb.net, mas ela não me pareceu muito confiável ou eu não a entendi direito.
Bom, gostaria de saber sobre boas práticas em conexão com banco de dados mysql e vb.net. Aumentar o número de pools, matar a conexão adormecida pelo programa ou por um storage procedure ou outra solução já implementad por algum de vocês.
Aguardo uma notÃcia e desde já agradeço,
Recentemente comecei uns testes com um sistema novo. A cada rodada as coisas iam sendo corrigidas e adequadas a situação. Então um belo dia me veio esse erro [Ô]too many connections[Ô]. Pesquisei sobre o erro e algumas respostas era que o número de conexões estava estourado. Não era possÃvel novas conexões. Mas, a única pessoa que estava realizando essa conexão era eu. Então li sobre matar conexões adormacidas. Pesquisei uma rotina em Vb.net, mas ela não me pareceu muito confiável ou eu não a entendi direito.
Bom, gostaria de saber sobre boas práticas em conexão com banco de dados mysql e vb.net. Aumentar o número de pools, matar a conexão adormecida pelo programa ou por um storage procedure ou outra solução já implementad por algum de vocês.
Aguardo uma notÃcia e desde já agradeço,
Estranho, utilizo mysql a anos, e nunca tive esse problema.
Pois é Nilson,
Achei estranho também. Mas, aconteceu e agora estou atrás de uma solução adequada para o problema.
Achei estranho também. Mas, aconteceu e agora estou atrás de uma solução adequada para o problema.
conexao.close ? apos ultiliza-las?
Não é estranho não, isso se torna comun em sistemas que utilizam-se de novas conexões a cada acesso a dados e que não tem um tratamento adequado para fecha-las.
Eu tive problema semelhante, e quando fui verificar no banco de dados , as conexões ativas , tinha diversas abertas para o mesmo usuário.
Reformulei totalmente a parte de conexões do meu sistema. Re-utilizo a mesma conexao desde o login. No entanto em alguns casos a conexão é destruida e iniciada uma nova conexão.
Se quiser saber quais conexões estão ativas utilize o comando abaixo :
Eu tive problema semelhante, e quando fui verificar no banco de dados , as conexões ativas , tinha diversas abertas para o mesmo usuário.
Reformulei totalmente a parte de conexões do meu sistema. Re-utilizo a mesma conexao desde o login. No entanto em alguns casos a conexão é destruida e iniciada uma nova conexão.
Se quiser saber quais conexões estão ativas utilize o comando abaixo :
SELECT 'ID', 'USER', 'HOST', 'DB', 'COMMAND', 'TIME', 'STATE', LEFT('INFO', 51200) AS 'Info' FROM 'information_schema'.'PROCESSLIST';
Certo FOX,
Não me atentei para esse detalhe, exatamente por isso não tenho problemas, abro a conexão e mantenho aberta até que encerre o sistema.
Não me atentei para esse detalhe, exatamente por isso não tenho problemas, abro a conexão e mantenho aberta até que encerre o sistema.
Foi o que eu disse la em cima, e so voce ultilizar o metodo de abrir e fechar apos ultilizar as conexoes...
FoxMan tem como eu usar esse select direto no vb para monitorar as conexoes de um banco? se sim tem algum exemplo ai..
KURTGU
Pelo prompt do mysql da um: [Ô]show full processlist[Ô]
Observe os campos e ele te traz e trata no vb, é uma consulta normal.
Eu utilizo isso para saber quais usuarios estão logados, assim fica facil, quando mando fechar o sistema, os usuarios falam que não tem mais ninguem com ele aberto.
Ai vc tem como saber se tem ou não.
Pelo prompt do mysql da um: [Ô]show full processlist[Ô]
Observe os campos e ele te traz e trata no vb, é uma consulta normal.
Eu utilizo isso para saber quais usuarios estão logados, assim fica facil, quando mando fechar o sistema, os usuarios falam que não tem mais ninguem com ele aberto.
Ai vc tem como saber se tem ou não.
Vlw consegui aqui..
Citação::
FoxMan tem como eu usar esse select direto no vb para monitorar as conexoes de um banco? se sim tem algum exemplo ai..
Tem como usar sim, apenas o usuario que der o select terá que ter acesso ao recurso solicitado.
Exemplo eu não tenho, mas fica fácil de montar, basta jogar isso num reader e pronto.
Eu deixo isso oculto, pois criei uma SP(stored Procedure) que monitora quantas conexões o usuario tem. Caso tenha mais que uma eu dou um kill nas mais antigas e mantenho a mas recente .
Mas isso tudo através da classe que gerencia as conexões.
Tópico encerrado , respostas não são mais permitidas