Teste de Conexão

Fala Galera !
Gostaria de saber se alguém utiliza em sua aplicação um teste de conexão de banco de dados.
Deixa eu explicar melhor, tenho criado um sistema multi bancos e ao criar o banco de dados gostaria de ter uma forma de testa-lo através da minha aplicação.
Procurei algo nesse sentido mais não achei…
Se alguém tiver uma dica pra passar, neste finalzinho de tarde de sexta,
eu agradeço !!!
Abração.

basta um sc_lookup e pegar o retorno e for falso a conexão falhou.

Então Haroldo…
No caso, eu não teria que conectar primeiro no banco de dados
pra depois usar algum comando sc_lookup ?
Ele não me daria um erro assim que não conectar ?

Daria sim. Tem razão.

Ideal é criar uma blank, e nela fazer a conexão com o banco.

Acessar essa blank via ajax e pegar o retorno (que será o erro caso o banco esteja fora).

Pergunta: em qual situação o banco não estaria no ar?

Talvez não saiba lhe dizer de bate pronto, talvez até por um motivo inusitado
que não tenha passado ainda, mas, ao criar o banco do cliente, através da
minha aplicação, não vejo fisicamente, (como em minha maquina local),
O teste de conexão me daria a confiança de que o banco e as tabelas teriam sido criadas
corretamente. E poderia libera-lo para o uso do meu cliente.

@HenriqueB
Eu ia te recomendar fazer um teste com uma conexão dinâmica:

$arr_conn = array();
$arr_conn[‘drive’] = “mysqlt”;
$arr_conn[‘server’] = “192.168.0.100”; // ip não existe
$arr_conn[‘user’] = “root”;
$arr_conn[‘password’] = “pass123”; // senha errada
$arr_conn[‘database’] = “sc_samples”; // base não existe
$arr_conn[‘persistent’] = “Y”;
$arr_conn[‘encoding’] = “utf8”;
try {
sc_connection_new(“teste1”, $arr_conn);
}
catch (Exception $e) {
echo 'Exceção capturada: ', $e->getMessage(), “\n”;
}

Mas vi que não gera exceção nenhuma.
Sinistro. Não tem como tratar erros de conexão? :anguished:

1 Curtida

Faz um teste sem ser pelas conexões do SC para não dar conflito

imagino que ja tenha uma conexão a um banco de dados, com isto ja tem uma conexão ativa para recuperar dos dados.

com os dados recuperados faz um teste simples com o mysqli, algo como:

$TesteOk = mysqli_connect($Servidor, $usuario, $Senha, $Banco);
if (!$TesteOk) {
echo “Erro de conexão”;
exit;
}

2 Curtidas

Fala Jair,

Acho que matou a charada velho… vou tentar por ai, porque esta função retorna true ao conseguir conectar … boa !!!

Abração

Caso falhe ela pode parar antes de ir para o echo “erro de conexão”
Acho melhor usar um try

Aproveitando a ocasião já que deu certo Exatamente como meu amigo Jair passou, vou aproveitar para roubar mais uma dica…
Como pegar todas as tabelas deste Banco de Dados ?

1 Curtida

show tables from database;

1 Curtida

Galera !

Mais uma vez deu certinho, tive que fazer uns ajustes a a função sc_lookup e funcionou 100%.

Valew mesmo ! Só tenha a agradecer vocês…