Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Na Conexão


alexandremanowar

Pergunta

E a e galera beleza

Eu fiz um código em vb.net 2005 para desktop onde ele conecta o meu banco mysql e faz a rotina de sempre consultar e armazenar etc, o banco esta funcionando legal porém acontece o seguinte. Quando eu inicio o sistema eu faço teste armazeno as informações numa boa mas se eu deixo o sistema conectado várias horas eu vou armazenando os dados porém quando chega uma certa quantidade de horas ("tipo virada de dia") ele dá falha na conexão e não deixa conectar mais! Será que isso tem a ver com a data a conexão tem que ser renovada sei lá???

Olha meu código:

Esse é o módulo:

Imports MySql.Data.MySqlClient
Module conexao_local
    'conecta ao banco de dados local
    Public conectar_local As String = "server=localhost;user id=root;password='';database=banco"
    Public conn_local As New MySqlConnection(conectar_local)
End Module
Esse é código que faz a conexão e os trabalhos com o banco:
Dim aprovado As Integer = 0

Try
    conn_local.Open()
    aprovado = 1
Catch ex As Exception
    MsgBox("Erro ao conectar o servidor local", MsgBoxStyle.Critical, "Erro")
End Try


If aprovado = 1 Then
     'caso a conexão passe numa boa ele entra aqui e faz as consultas e armazenamentos numa boa
      conn_local.Close()
End If

Então como eu disse quando eu inicio o sistema consigo trabalhar nele durante horas armazenando e consultando mas fiz uns testes alterando o relógio da máquina para o dia seguinte e aí ele entra no catch e apresenta a MSN de erro de conexão e não conecta mais de forma nenhuma a não ser que reinicie o programa aí volta tudo de novo numa boa.

A esse código de conexão esta dentro de um objeto timer pois as consultas no banco são feitas de tempo em tempo automáticamente. O timer é simples configurando para fazer a verificação a cada 1 minuto de segundos. Não acredito que ele seja o problema pois não faz a nada a não ser ficar fazendo o loop dele. Ou estou errado?

Alguém sabe porque esta dando esse erro?

Editado por alexandremanowar
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

E aí pessoal beleza

Bom vamos lá deixa eu corrigir.

Eu abro a conexão quando eu abro meu form, dessa forma:

Try
            conn_local.Open()
         Catch ex As Exception
            MsgBox("Erro ao conectar o servidor local", MsgBoxStyle.Critical, "Erro")
        End Try

Essa é a única vez o a conexão é aberta e ela fica aberta até que programa seja fechado(ou o pau aconteça rsrs)

Aí eu tenho um objeto timer(onde fica apenas minha função sql nada de conectar e desconectar eu mudei aquele erro fatal rsrs) que fica armazenando informação a cada um minuto o sistema funciona bem durante todo o dia mas quando vira o dia de 23:59 para 00:00 a conexão termina e da essa MSN de erro na função SQL que esta dentro do timer:

Connection unexpectedly terminated

Ou seja conexão terminada.

Agora não sei se estou certo mas acho que tem muito a ver com a virada do dia ou a conexão tem um tempo limite e depois termina sózinha por padrão, não conheço muito!

Eu li o POST que o mestre fyoda deixou mas não achei resposta para esse erro. Meu problema não esta em conectar esta conectando e fica horas conectado e armazenando o problema é que a conexão finaliza sozinha!

Tem alguma idéia do que pode ser?

Link para o comentário
Compartilhar em outros sites

  • 0
E aí pessoal beleza

Bom vamos lá deixa eu corrigir.

Eu abro a conexão quando eu abro meu form, dessa forma:

Try
            conn_local.Open()
         Catch ex As Exception
            MsgBox("Erro ao conectar o servidor local", MsgBoxStyle.Critical, "Erro")
        End Try

Essa é a única vez o a conexão é aberta e ela fica aberta até que programa seja fechado(ou o pau aconteça rsrs)

Aí eu tenho um objeto timer(onde fica apenas minha função sql nada de conectar e desconectar eu mudei aquele erro fatal rsrs) que fica armazenando informação a cada um minuto o sistema funciona bem durante todo o dia mas quando vira o dia de 23:59 para 00:00 a conexão termina e da essa MSN de erro na função SQL que esta dentro do timer:

Connection unexpectedly terminated

Ou seja conexão terminada.

Agora não sei se estou certo mas acho que tem muito a ver com a virada do dia ou a conexão tem um tempo limite e depois termina sózinha por padrão, não conheço muito!

Eu li o POST que o mestre fyoda deixou mas não achei resposta para esse erro. Meu problema não esta em conectar esta conectando e fica horas conectado e armazenando o problema é que a conexão finaliza sozinha!

Tem alguma idéia do que pode ser?

Eu sei que se você fica um tempo sem mecher na conexão, ela desativa ou fica inválida, mais como você faz consultas ou modificações a cada 1 segundo, acho que isso não aconteceria. O jeito é você fazer do jeitinho brasileiro então: Mete uma condição aí, se a conexao estiver aberta, se vai embora, se ela estiver fechada, você reabre de novo.

Flws!

Link para o comentário
Compartilhar em outros sites

  • 0

E aí beleza

Então seguindo seus conselhos eu resolvi o problema assim:

A conexão ficou assim na abertura do form:

Try
            conn_local.Open()
         Catch ex As Exception
            MsgBox("Erro ao conectar o servidor local", MsgBoxStyle.Critical, "Erro")
        End Try
No objeto timer fiz o teste usando o ping dessa form
If conn_local.Ping = False Then
                    conn_local.Open()
End If

'aqui fica o trabalho com o sql

Dessa forma funcionou!

Porém você falou no caso de se a conexão fica um tempo sem mexer ela desativa! Qual seria a solução para isso? Essa mesmo que já fiz? Porque tenho um problema parecido, a conexão fica ativa mas só de vez em quando alguém usa aí depois de um tempo ela desativa.

Valeu

Editado por alexandremanowar
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...