APLICA?ÃO VB-6 COM MYSQL PERDENDO CONEXÃO

DANLEONHART 20/11/2014 18:41:18
#442665
Pessoal, tenho uma aplicação em VB-6 com banco de dados MySQL.
Acontece que as vezes no meio das consultas há perda de conexão...pois em algumas rotinas há 3 ou 4 consultas embutidas.
Em banco local não há problema nenhum, mas quando acesso o banco em servidor on-line acontece isso.
Meu servidor é proprio. Tenho uma máquina em casa com o banco de dados instalado com permissão de acesso remoto, e faço acesso a ele do meu trabalho (configurado com No-IP).

Alguém tem alguma dica pra eu corrigir isso ??? Já pensei em criar Stored Procedures mas o tempo não deixou ainda. Pensei em abrir e fechar a conexão em todas as rotinas que faço acesso ao banco, pois atualmente eu o abro apenas no iniciar do programa.
Sugestões são muito bem vindas!
MARCELO.TREZE 20/11/2014 22:26:17
#442668
qual é o conector ODBC que esta usando?
DANLEONHART 21/11/2014 11:47:18
#442681
MySQL ODBC 5.3
NLSOLUCOES 21/11/2014 18:57:05
#442688
Estranho isto, pode ser problema de banda mas de qualquer jeito, a maneira mais correta seria esta que voce pretende fazer, abrir e fechar a conexao nas operações necessárias.
MARCELO.TREZE 22/11/2014 16:37:16
#442701
a principio eu aconselho a tentar uma versão anterior do mysql, pode ser 5.1, se não resolver, reveja seu código.

pois comigo mesmo buscando fotos que estão gravadas no banco ele não cai, é devagar mais não cai
PROFESSOR 23/11/2014 14:37:12
#442711
Utilizar o No-IP sempre envolve uma [Ô]ponte[Ô] adicional entre a aplicação e o servildor de dados, mas não em relação ao tráfego dos dados, apenas da conexão. Obviamente, no entantom o seu tráfego está se tornando mais dependente da rota, seja por limitação de velocidade, de banda ou outros fatores, como redirecionamento e sessões ativas. Assim, o ODBC pode não ser uma escolha muito feliz em seu caso, pois ele em si mesmo já é uma camada extra.
No caso de você vir a testar outras formas de conexão, como a OleDb por exemplo, será interessante fazer avaliações com alguns parâmetros, como UseCompression ou ConnectionLifeTime ou Keepalive ou ainda Connection Timeout, entre outros.

Por experiência pessoal, o MySQL é um serviço de dados muito rápido, que independente de usar o MyISAN ou o INNO, local ou remoto, de procedures ou acesso direto, dá sempre prioridade ao desempenho por excelência. No entanto, há provedores e provedores. Passei muitos mau-bocados usando provedores, inclusive comerciais, como os da [Ô]Hotel da Web[Ô], ainda que eles estavam com bons equipamentos, mas por conta de problemas nas configurações do Oracle MySQL em seus servidores de dados. Se não conseguir minimizar o problema, pode ser a hora de reavaliar seu servidor/provedor.
DANLEONHART 23/11/2014 22:13:01
#442716
Estou desconfiando do Provedor de internet (NET). Gostaria de testar um conector OleDB, porém a maioria é pago
ALVAROVB2009 24/11/2014 08:45:36
#442720
DANLEONHART eu estava tendo o mesmo problema

Não sei se é o seu caso, más no meu, eu sempre abro o banco quando inicio o meu sistema e deixo ele [Ô]aberto[Ô], enquanto a aplicação fica aberta, só que não sei o porque em determinado momento, ele estava fechando a conexão

O que eu fiz foi mandar a rotina de abrir banco ser executada no momento em que eu iniciava a gravação dos dados
MESTRE 24/11/2014 09:04:52
#442722
Resposta escolhida
Citação:

DANLEONHART eu estava tendo o mesmo problema

Não sei se é o seu caso, más no meu, eu sempre abro o banco quando inicio o meu sistema e deixo ele [Ô]aberto[Ô], enquanto a aplicação fica aberta, só que não sei o porque em determinado momento, ele estava fechando a conexão

O que eu fiz foi mandar a rotina de abrir banco ser executada no momento em que eu iniciava a gravação dos dados



O Correto de se fazer é isso.. só abrir conexão com banco quando o sistema for dar um insert,update,select etc só que voce nao pode se esquecer de fechar a conexão também..

ex: Banco.Open
Insert
Banco.Close
DANLEONHART 24/11/2014 09:59:43
#442727
Vou fazer isso que você sugeriu MESTRE. Eu já estava pensando nisso mesmo...só queria ouvir mais opiniões
Depois posto o resultado aqui. E se alguém tiver mais opiniões pode deixar! toda opinião é bem vinda!
Tópico encerrado , respostas não são mais permitidas