Como posso testar uma conexão?

3 respostas
V

Gostaria de saber como testar se uma conexão foi bem sucedida ou não, retornando true ou false.

Pois neste exemplo que eu tenho ele printa "Conexao JDBC ok."
Se eu colocar um usuário que não existe ele dá a mensagem de erro dele, eu gostaria de tratar se o usuário existe, senha válida e banco de dados correto.

Tem como fazer isto???

Aqui vai o meu código…

============================================

import java.sql.;
import java.io.
;

public class Connection_Java {

public static void main (String args []) throws SQLException, IOException
{

 String user, password, servidor, porta, banco, strSQL;
 String databaseURL;

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
   
 databaseURL = "jdbc:oracle:thin:@200.0.0.0:1521:BANCO" ;

 System.out.print ("Conectando-se ao Banco ... ");
 System.out.flush ();

 Connection conn = DriverManager.getConnection (databaseURL, "USER_JAVA", "senha");
 
 System.out.println ("Conexao JDBC ok.");

}

// Function para ler as informações de entrada
  static String readEntry (String prompt)
  {
 try
 {
	 StringBuffer buffer = new StringBuffer ();
	 System.out.print (prompt);
	 System.out.flush ();
	 int c = System.in.read ();

	 while (c != 'n' && c != -1)
	{
		buffer.append ((char)c);
		c = System.in.read ();
	}

	return buffer.toString ().trim ();
  } catch (IOException e) {
	 return "";
  }
}

}

3 Respostas

J

Não sei se entendi muito bem sua pergunta, mas vou responder pelo que entendi. Qualquer coisa me desculpe…

No seu seu código tem a seguinte linha: Connection conn = DriverManager.getConnection (databaseURL, “USER_JAVA”, “senha”);, blz… este método retorna uma conexão para vc com os parâmetros passados. Sempre irá te retornar uma conexão, exceto quando ocorrer uma exceção. Portanto, vc pode por esta linha em um bloco try, e quando ocorrer uma exceção vc poderá visualizar e ver o que aconteceu…

Espero que seja isto… :wink:

J

Oi

vansol, pelo o que eu entendi é só tu colocar a rotina para conexão em um método que retorne booolean.

Por exemplo:

public boolean openDBServ() { conectado = false; System.out.println("\nUsando DBServ.java para se conectar ao banco..."); try { System.out.println("Procurando Driver JDBC..."); Class.forName ("org.gjt.mm.mysql.Driver"); //BANCO MYSQL System.out.println(" OK"); } catch(java.lang.ClassNotFoundException e) { System.out.println(" Driver não encontrado\n"); System.err.print("ClassNotFoundException:"); System.err.println(e.getMessage()); JOptionPane.showMessageDialog(null,"Erro de sistema #001\nSe o problema persistir entre em contato com o desenvolvedor", "Erro",JOptionPane.ERROR_MESSAGE); } try { con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/" +"provet?user=jeveaux;password=keila"); //BANCO MYSQL System.out.println("...Ok"); conectado = true; } catch (SQLException ex) { System.err.println("SQLException:" + ex.getMessage()); JOptionPane.showMessageDialog(null,"Erro de sistema #002\nSe o problema persistir entre em contato com o desenvolvedor", "Erro",JOptionPane.ERROR_MESSAGE); } return conectado; }

Se tudo correr bem, irá retornar true, ou seja, conectado, caso contrário retornará false.

T+

V

Obrigada pela ajuda!

:smiley:

Criado 26 de janeiro de 2004
Ultima resposta 27 de jan. de 2004
Respostas 3
Participantes 3