Erro conexão com MySQL

4 respostas
KNSetting

Cara comecei agora a estudar banco de dados e não consegui encontrar boas apostilas em portuques acabei lendo documentações em ingles (porem não tenho o ingles fluente ai vou lendo o que entendo).

bem se alguem puder me indicar alguma apostila ficarei agradecido mesmo que seja em ingles.

o que estou tentando fazer é conectar com o java com MySQL o que consegui usando o netbeans adicionando o driver ao projeto, mas queria fazer isso manualmente para compilar e rodar pelo prompt mas não estou conseguindo, ja coloquei o jar no classpath ja tentei rodar ele na mesma pasta mas não vai da o seguinte erro na conexão
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
gerado pela linha
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
se alguem puder ajudar agradeço.

Pedro Batista.

4 Respostas

peczenyj

Mas pq vc quer fazer um “new instance” ? Vc deveria pegar a conexão com o mysql através do DriverManager, passando a string de conexão, usuario e senha. A apostila FJ-21 da caelum [disponivel aqui: www.caelum.com.br/downloads/apostila/caelum-java-web-fj21.pdf] começa falando justamente disso, e em nosso idioma.

Agora, o seu erro É classpath, de uma lida aqui: http://guj.com.br/java.tutorial.artigo.108.1.guj

Não sei como vc esta fazendo, se usando NetBeans, Eclipse, esta compilando na mão, vc precisaria dar mais detalhes… Nem sempre é obvio, acredite. Se vc faz por variaveis de ambiente pode haver alguma coisa que vc não pensou, por exemplo, como exportar as variaveis num shell linux. Sem saber como vc fez fica dificil :wink:

KNSetting

Esse “new instance” usei pq vi na documentação que vem junto com o driver que baixei do MySQL, mas funcionou sem ele também, vi a apostila da caelum na verdade tinha procurado no site mas como essa f-21 tem como titulo java para web nem abri mas agora foi de grande importancia, consegui seguir os exemplos e fiz usando classes DAO e tals…

mas vi que é bom usar o Hibernate e tals mas ainda não tive tempo para pesquisar sobre isso se tiver alguma dica de material eu agradeço, até sobre MySQL tbm…

quanto a conexão consigo normalmente adicionando a biblioteca do netbeans/eclipse o driver .jar.
Só que queria conseguir tbm na mão pra compilar e executar pelo prompt de comando no windows vou nas propriedades do sistem e seto na CLASSPATH o caminho de onde se encontra em meu computador o jar do driver MySql e continua dando esse mesmo erro
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
que acho que é por causa dessa configuração de classpath…

desde ja agradeço a ajuda!

Pedro Batista

fernei

KNSetting

Poderia postar o codigo que esta utilizando para realizar a conexão?

A apostila que o peczenyj falou e um bom exemplo.

Boa sorte

KNSetting

Segue o código abaixo.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author USER
 */
public class Teste {

    public static void main(String args[]) {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("here");
            conn =
                    DriverManager.getConnection("jdbc:mysql://localhost/teste?" +
                    "user=root&password=kpkefd");
        } catch (SQLException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (InstantiationException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
Criado 28 de dezembro de 2008
Ultima resposta 30 de dez. de 2008
Respostas 4
Participantes 3