Testar conexão com vários IPs Mysql
Enviado: 04 Set 2017 11:21
Meus caros, Bom dia!!!
Uso : Harbour MiniGUI Extended Edition 17.03 + BCC5
Eu tenho uma necessidade e gostaria de saber se algum pode me ajudar.
Tenho um servidor Linux com Mysql que acesso de duas formas:
192.16... Para acesso interno e
201.18... para acesso externo.
Pois bem, eu queria fazer um laço testeando os IPs na sequencia e verificando qual esta com acesso. Vou postar o código da forma com que eu tentei fazer para vcs entenderem a necessidade.
Pseudocódigo:
Um grande abraço
Marcelo de Paula
Uso : Harbour MiniGUI Extended Edition 17.03 + BCC5
Eu tenho uma necessidade e gostaria de saber se algum pode me ajudar.
Tenho um servidor Linux com Mysql que acesso de duas formas:
192.16... Para acesso interno e
201.18... para acesso externo.
Pois bem, eu queria fazer um laço testeando os IPs na sequencia e verificando qual esta com acesso. Vou postar o código da forma com que eu tentei fazer para vcs entenderem a necessidade.
Pseudocódigo:
Código: Selecionar todos
* // Procedure de Conexão com BD Mysql
Procedure ProcedimentoDeConexaoDB()
LOCAL lConect
WaitWindow('Aguarde!, Conectando-se ao Servidor:'+oHostName)
* // Conecta ao banco mediante parametro
lConect:=ConectaMySql()
If !lConect
BEGIN INI FILE "Parametros.ini"
GET oHostName SECTION "Conexao" ENTRY "Servidor1"
END INI
frmPrincipal.STATUSITEM.Item(4):="Servidor1:"+oHostName+" ["+oDataBase+"]"
lConect:=ConectaMySql()
EndIf
WaitWindow()
If !lConect
MsgInfo('Desculpe! Não foi possível se conectar ao servidor.')
Quit
EndIf
Return
*----------------------------------------
* Função para Conectar na Base MySql
Procedure ConectaMySql()
LOCAL cQuery, aListaBancos
LOCAL lExiste:=.F.
* // Verifica se já está conectado
If oServer != Nil
Return(.F.)
Endif
* // Abre Conexao com MySql
oServer := TMySQLServer():New(oHostName, oUser, oPassWord )
If oServer:NetErr()
Return(.F.)
EndIf
* // Cria uma lista de banco
aListaBancos:= oServer:ListDBs()
* // Verifica se o Banco já Existe
FOR i := 1 TO Len( aListaBancos )
If Lower( AllTrim( aListaBancos[i] ) ) == Lower( AllTrim( oDataBase ) ) // Pesquisa o Banco em Letras Minusculas
lExiste:=.T.
Exit
EndIf
Next
* // Se existe, Seleciona
If lExiste
oServer:SelectDB( oDataBase )
Else
MsgInfo("Banco de Dados não Instalado, consulte o Administrador","Conexão")
Release Window All
EndIf
Return(.T.)
Marcelo de Paula