ADODB: TESTAR CONEXAO CAIU

LUCASALBERTI 25/11/2013 15:31:37
#431439
Alguém sabe uma forma fácil de testar se a conexão do banco caiu?

Existe o State mas ali é pra saber se está aberto ou fechado não verifica se caiu ou não


Att



Lucas
MARCELO.TREZE 25/11/2013 15:41:38
#431441
Colega o banco está na rede?
LUCASALBERTI 25/11/2013 16:01:31
#431443
Banco local ou na Rede é um Banco MySQL


Digamos abri o software com banco conectado, normal, mas por algum motivo caiu a rede, então antes de disparar um comando que vai retornar erro queria testar ver se está comunicando o banco de dados entendeu.

PROFESSOR 25/11/2013 16:36:38
#431446
Somente ao tentar conectar / executar uma consulta / comando é que você [Ô]descobre[Ô] se a conexão está ou não válida.

Há sim, formas de validar o estado de um dado socket, de uma URL de uma porta, mas como a aplicação já possui um conector, o mais prático é usá-lo para este teste, ao invés de criar e chamar outras rotinas com esse fim.

Mesmo em VB6 / VBA, se em sua aplicação você encapsular todos os comandos de acesso á base de dados (incluindo o conector) em uma classe (similar á uma DAL), pode mapear um evento [Ô]ConexãoPerdida[Ô] e assim apresentar uma mensagem mais adequada do que um [Ô] Run-time error [ô]-2147217871 (80040e31)[ô]: [Ô] ou coisas do gênero.

Observação: Não caia na tentação de efetuar um teste periódico de conexão (á cada [Ô]n[Ô] segundos, por exemplo). Isso, além de não resolver, ainda acarreta um [Ô]peso[Ô] adicional cumulativo ao aplicativo, caso a instância do conector não seja encerrada e destruída da forma adequada (ou seja, neste caso, além de chamar o método .Close, esvaziar a variável de conexão como em Set conector = Nothing e repetir o processo para cada objeto derivado - tais como os Recordset, Relation etc).
LUCASALBERTI 25/11/2013 17:34:50
#431451
Obrigado já tinha mais ou menos analisado que seria somente desta forma executando algum comando.


Agradeço sua atenção.




Lucas
Faça seu login para responder