Conexão com MySQL

4 respostas
M

Estou tentando me conectar a database test default do MySQL mas não estou conseguindo. Está ocorrendo sempre o mesmo erro: “Driver não encontrado”, conforme previsto no programa.

O programa Java que desenvolvi está mostrado abaixo:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;
class teste2

{

public static void main(String[] args)

{

try

{

Class.forName(org.gjt.mm.mysql.Driver);

Connection MinhaConexao = DriverManager.getConnection(jdbc:mysql://127.0.0.1:3306/test”);

System.out.println(Conexao realizada com sucesso);

MinhaConexao.close();

System.out.println(Conexao encerrada com sucesso);

}

catch (ClassNotFoundException ex)

{

System.out.println(Driver nao encontrado);

}

catch (SQLException ex)

{

System.out.println(Problemas com a fonte de dados);

}

}

}

O arquivo mysql-connector-java-3.0.16-ga-bin.jar já se encontra em $JAVA_HOME\jre\lib\ext como (meu JAVA_HOME é j2sdk1.4.2_06), bem como minha variável de ambiente CLASSPATH também está apontando para este local.

O que está faltando? Na descompactação do arquivo .zip contendo o arquivo .jar existe algum procedimento extra que deve ser feito? Quando utilizo o MySQL ODBC para fazer uma ponte entre o Java e o MySQL, o erro passa a ser “Problemas com a fonte de dados”. Por que?

Espero que alguém consiga me ajudar.

Sds,

mguima

4 Respostas

D

verifique o seu classpath…
pq nenhuma outra configuração eh necessaria…

vc esta tentando rodar a partir de algum IDE? pode ser necessario configurar

M

Amigo o Driver que vc deve usar é

com.mysql.jdbc.Driver
R
/*
 * BDConexao.java
 * Created on 1 de Maio de 2003, 12:05
 * @author  Rodrigo Reis
 */

package negocio;

import java.sql.*;

public class BDConexao {
    private static Connection con;
    private static Statement stmt;
    private static ResultSet resultado;
    private static boolean status = false;
    
    /** Creates a new instance of BDConexao */
    public BDConexao() throws ClassNotFoundException, SQLException {
        inicializarConexaoBD();
    }
    
    public static void inicializarConexaoBD() throws ClassNotFoundException, SQLException {
        status = true;
        Class.forName("org.gjt.mm.mysql.Driver");        
        con = DriverManager.getConnection("jdbc:mysql://localhost/escola", "root", "");
        stmt = con.createStatement();
    }
    
    public static void finalizarConexaoBD() {
        try {
            stmt.close();
            con.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }        
     
    public static Statement getStatement() {
        return stmt;
    }
    
    public static boolean getStatus() {
        return status;
    }
    
    public static int obterUltimoCodigoGeradoTabela(String nomeTabela) {
        try {
            String csCodigoGerado = "SELECT LAST_INSERT_ID() from " + nomeTabela;
            resultado = stmt.executeQuery(csCodigoGerado);
            resultado.first();
            return (resultado.getInt(1));
        }
        catch (SQLException se) {
            return 0;
        }
    }
}

Eu uso esta classe e com jar mysql-connector-java-3.0.15-ga-bin funciona beleza

Falou

Rodrigo Reis

M

Só uma dica.

Evita usar coisas do tipo

...
} catch (SQLException e) {
      System.out.println("Problemas com a fonte de dados");
}

Sempre devemos tratar exceções ou levantálas (throw) para o método que chamador do método em execução.

Como no seu caso é uma classe de teste, use

pois uma StackTrace lhe fornece muito mais informação do que apenas a String “Problemas com a fonte de dados”. Apenas essa mensagem não diz muita coisa. Qual problema ocorreu? Porque? Em que ponto do código?
StackTrace lhe diz isso tudo…

Criado 29 de dezembro de 2004
Ultima resposta 29 de dez. de 2004
Respostas 4
Participantes 5