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