Jdbc

Estou tentando acessar um banco meu na net e não estou conseguindo. O Que há de errado?

    userName 		= "uaisoluc";
    userPassword 	= "blabla";
    urlBanco 		= "jdbc:mysql:http://uaisolucoescombr.t5.com.br:3306/";
    jdbcDriver		= "org.gjt.mm.mysql.Driver"; 

[code]
try{
Class.forName(jdbcDriver);
objCon = DriverManager.getConnection(urlBanco, userName, userPassword);
return objCon;
}
[/quote]

Qual o erro que acontece?

Não conecta e no meu try retorna null

cade o catch…?

tenta trocar a URL pelo IP do Banco de Dados…na sua varíavel…

as vezes pode ser um problema de resolução de nomes DNS…

Dá um telnet tipo esse:

telnet uaisolucoescombr.t5.com.br 3306

E vê se você tem resposta. Eu não tive. Ou isso é uma resolução interna da sua rede ou é provável que você esteja tentando acessar externamente um BD mas a porta dele não tenha sido disponibilizada pelo firewall. Nesse caso, se você tiver uma conexão ssh, pode fazer um túnel privado para a sua máquina/servidor local e acessar através de localhost:3306.

Ou não é nada disso porque como o código que você escreveu foi meio pouquinho, pode não estar mostrando o erro dado (que aparentemente foi uma NullPointerException).

Acertei o nome da url e agora o erro que retorna é

No suitable driver

Segue minha classe de conexão


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class conexao {
  /**
   * Conexão com o BD.
   */
  private Connection objConexao = null;
  private String urlBanco = null;
  private String userName = null;
  private String userPassword = null;
  private String jdbcDriver = null;
  private Statement objComando = null;
  /**
   * Cosntrutor Padrão
   *
   */
  public conexao() {

    super();
    
    userName 		= "uaisoluc";
    userPassword 	= "xxx";
    urlBanco 		= "jdbc:mysql:http://www.uaisolucoes.com.br:3306/";
    jdbcDriver		= "org.gjt.mm.mysql.Driver";      
    
  }

  /**
   * Retorna uma java.sql.Connection.
   * @return objConexao
   */
  public Connection AbreConexaoBD() {
	    try {
		      if (objConexao == null) {
		        Class.forName(jdbcDriver);
		        objConexao = DriverManager.getConnection(urlBanco, userName, userPassword);

		      } else if (objConexao.isClosed()) {
		        objConexao = null;
		        return AbreConexaoBD();
		      }
	    } catch (ClassNotFoundException e) {
	    	e.printStackTrace();
	    } catch (SQLException e) {
	    	e.printStackTrace();
	    }
	    	return objConexao;
  }

  
  
  
    public ResultSet ExecutaSQL(String strSQL){
        objConexao    = AbreConexaoBD();
        try{
                //objComando        = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
        	objComando        = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
                // Executando a query
                ResultSet objRS    = objComando.executeQuery(strSQL);

                // Retornando o ResultSet
                return objRS;
        }
            catch(Exception e){
                System.out.println (e.getMessage());
                return null;
            }
    }
    
    
    public ResultSet ExecutaSQLLogin(String strSQL){
        objConexao    = AbreConexaoBD();
        try{
                //objComando        = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
        	objComando        = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
                // Executando a query
                ResultSet objRS    = objComando.executeQuery(strSQL);

                // Retornando o ResultSet
                return objRS;
        }
            catch(Exception e){
                System.out.println ("<script>document.location.href='login_erro.jsp';</script>");
                return null;
            }
    }
    
     public synchronized void  ExecutaUpdate(String strSQL){
        objConexao    = AbreConexaoBD();
        try{
                //objComando        = objConexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
        	objComando        = objConexao.createStatement();
                // Executando a query
                objComando.executeUpdate(strSQL);
                objConexao.commit();  
                // Retornando o ResultSet
                //return RS;
        }
            catch(Exception e){
                System.out.println (e.getMessage());
                //return null;
            }
    }
  
  /**
   * Fecha a conexão com BD.
   *
   */
  public void FechaConexaoBD() {
    if (objConexao != null) {
      try {
        objConexao.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }
}

Não conecta? Estarei esquecendo alguma configuração no web-xml?

Você colocou o jar do mysql connector na devida pasta? (WEB-INF/lib “se não me engano”) ?

Sim, está lá mas é a versão 3. To baixando a 5 para testar

Troqueio o drive, coloquei o mysql-connector-java-5.0.4-bin.jar mas o erro prevalece:

No suitable driver

Algumas considerações:

Não tenho a base em localhost, só tenho direto no servidor net.
Alterei o Class-Path: mysql-connector-java-5.0.4-bin.jar
Mas também não resolveu. Não consigo entender o porque não acessa.

Sei que tá chato isto… Fiz algumas mudanças e consegui o seguinte erro:

Conhecido de alguem?

Toda conexão tem um tempo máximo pelo qual ela aguarda a resposta do servidor. Esse tempo não foi suficiente. Isso pode indicar que o servidor está com problemas ou que a sua conexão (de rede mesmo) ao servidor está lenta demais.