Erro ao conectar no MySql

3 respostas
Fabio_Verdi

Ae galera, jah fiz de tudo e não sei o que pode estar acontecendo.

Tento conectar no MySql e vive dando estas Exceptions:

Exception in thread "main" br.com.globalcode.util.GlobalcodeException: Driver nao encontrado
	at br.com.globalcode.aj3.dao.ConnectionManager.getConexao(ConnectionManager.java:34)
	at br.com.globalcode.aj3.dao.ClientesDB.getAllClientes(ClientesDB.java:78)
	at br.com.globalcode.aj3.dao.TesteClientesDAO.executarTarefa(TesteClientesDAO.java:126)
	at br.com.globalcode.aj3.dao.TesteClientesDAO.main(TesteClientesDAO.java:142)
Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at br.com.globalcode.aj3.dao.ConnectionManager.getConexao(ConnectionManager.java:27)
	... 3 more

E a CLASSE que faz parte de um pacote que estou tentando conectar é esta:

package br.com.globalcode.aj3.dao;

/*
 * Globalcode - "The Developers Company"
 * 
 * Academia do Java
 * 
 */
import java.sql.*;
import br.com.globalcode.util.GlobalcodeException;

public class ConnectionManager {

    // 1) Coloque o valor adequado nas constantes DATABASE, USER, IP e PASSWORD
    // 2) Teste esta classe para garantir que esta funcionando
    private static final String STR_DRIVER = "org.gjt.mm.mysql.Driver";
    private static final String DATABASE = "clientes";
    private static final String IP = "localhost";
    private static final String STR_CON = "jdbc:mysql://" + IP + ":3306/" + DATABASE;
    private static final String USER = "root";
    private static final String PASSWORD = "mysql";

    public static Connection getConexao() throws GlobalcodeException {
        Connection conn = null;
        try {
            // 3) Faca o carregamento do driver
            Class.forName(STR_DRIVER);
            // 4) Obtenha a conexao
            conn = DriverManager.getConnection(STR_CON, USER, PASSWORD);
            System.out.println("[ConnectionManager]: Obtendo conexao");
            return conn;
        } catch (ClassNotFoundException e) {
            String errorMsg = "Driver nao encontrado";
            throw new GlobalcodeException(errorMsg, e);
        } catch (SQLException e) {
            String errorMsg = "Erro ao obter a conexao";
            throw new GlobalcodeException(errorMsg, e);
        }
    }

    public static void closeAll(Connection conn) {
        try {
            // 1. Verifique se a conexao (conn) nao e null e entao feche a conexao
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            String errorMsg = "Nao foi possivel fechar a conexaoao com o banco";
            GlobalcodeException.print(e, errorMsg);
        }
        ConnectionManager.closeAll(conn);   
    }

    public static void closeAll(Connection conn, Statement stmt) {
        try {
            if (stmt != null) {
                stmt.close();
            }
        } catch (SQLException e) {
            String errorMsg = "Nao foi possivel fechar o statement";
            GlobalcodeException.print(e, errorMsg);
        }
     ConnectionManager.closeAll(conn, stmt);
    }
    
	public static void closeAll(Connection conn, Statement stmt, ResultSet rs) {
					try {
						if (rs != null) {
							rs.close();
						}
					
					} catch (Exception e) {
						String errorMsg = "Nao foi possivel fechar o ResultSet no banco";
						GlobalcodeException.print(e, errorMsg);
					}
					ConnectionManager.closeAll(conn, stmt, rs);
				}
}

Estou utilizando o seguinte conector - mysql-connector-java-3.1.13.zip - o a versão do MySQL é: MySQL Server 5.0.

Poderiam me ajudar???

3 Respostas

marciobarroso

E ae Fabião,

Estive testando seu código aqui e está funcionando com outro Driver do mysql.

Tenha certeza que o driver do Mysql está no classpath da app.

Eu acho que a classe que vc está procurando “org.gjt.mm.mysql.Driver” não faz parte do pacote mysql-connector-java-3.1.13.zip.

Tente usar desta forma :

private static final String STR_DRIVER = “com.mysql.jdbc.Driver”;

Se quiser mais detalhes, me ligue … estarei no trampo até as 17:45

Abraço

Diogo_Aca

Troca o valor da String STR_DRIVER .

private static final String STR_DRIVER = "org.gjt.mm.mysql.Driver";

Coloca isso aqui no lugar:

private static final String STR_DRIVER = "com.mysql.jdbc.Driver";

Provavelmente deve funcionar

Abraçossssss

Douglas

Seguinte, descompacte o arquivo mysql-connector-java-3.1.13.zip. Lá dentro vai ter o mysql-*.jar, é esse que voce tem de adicionar ao classpath da sua aplicacao e nao o .zip que voce fez download.

Abraços.

Criado 6 de setembro de 2006
Ultima resposta 8 de set. de 2006
Respostas 3
Participantes 4