Descrição:
Como posso saber se um banco de dados remoto está disponível quando a conexão com este é perdida?
Solução:
Para isto, utilize um script que teste a propriedade ConnectionActive do banco de dados, ou uma associação. No entanto, antes deste teste, deve-se forçar um acesso ao banco de dados (por exemplo, executando uma consulta simples).
Exemplo de script sendo executado no evento Click de um botão:
Screen.Item("Consulta1").Execute()
aux1 = Application.GetObject("BancoDados1").ConnectionActive
MsgBox aux1
No exemplo acima, o resultado será TRUE se o acesso ao banco de dados estiver ok e FALSE caso não consiga acessá-lo.
Nota: Por questões de performance, a consulta pode ser inserida no servidor, em conjunto com o método ‘GetAsyncADORecordset’ para execução. No evento ‘OnAsyncQueryFinish’ da consulta deve-se verificar o valor retornado pelo parâmetro Error (TRUE indica que houve erro).
Para maiores informações, consulte o artigo relacionado.