Tenho uma aplicação que, de repente, trava ao consultar o banco de dados e recebo uma mensagem indicando que o banco não está mais disponível.
Estes travamentos não são em todos os clientes e, mesmo nos clientes em que acontece isto, não são em todos os computadores em que a aplicação está sendo executada.
Para simular este erro, acessei o banco em um servidor e tirei o cabo de rede de meu computador.
Alterei a classe de acesso ao banco de dados para que ao falhar um acesso ao banco (try / cacth) eu abro o banco novamente.
Este procedimento tem o inconveniente de demorar muito (vários segundos) mesmo com um timeout de 1 segundo.
cnFila.Open("DRIVER={MySQL ODBC 5.1 Driver}; SERVER=" & strServer & ";" & "DATABASE=" & strDataBase & ";PWD=" & strPWD & ";;UID=" & strUID & ";OPTION=3;Connection Timeout=1")
Minha pergunta é:
Como saber, dentro do VB Net 2010, que o banco está disponível para consultas?
A única forma é recuperando um erro na execução de algum comando?
Desde já agradeço.
JCarlos