Problema com conexão do MySQL pelo JDBC

Acredito que seja uma dúvida simples, mais está me dando muita dor de cabeça, hehe

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


public class ConnectGEPIDB {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("Seja bem-vindo ao GEPI!");
		try //A captura de exceções SQLException em Java é obrigatória para usarmos JDBC.   
		{  
	        // Este é um dos meios para registrar um driver   
	        Class.forName("com.mysql.jdbc.Driver");  
	         
	        // Registrado o driver, vamos estabelecer uma conexão  
	        Connection con = DriverManager.getConnection("jdbc:odbc:gepi","root","1234");  
	    }  
	    catch(SQLException e)  
	    {  
	        // se houve algum erro, uma exceção é gerada para informar o erro   
	        e.printStackTrace(); //vejamos que erro foi gerado e quem o gerou  
	    }  
	}

}

O erro é lançado no Class.forName(“com.mysql.jdbc.Driver”);

[color=red]Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Unhandled exception type ClassNotFoundException

at ConnectGEPIDB.main(ConnectGEPIDB.java:17)[/color]

Já cliquei na pasta do projeto com o botão direito e fui em [Build path > add external archives], adicionei o JAR do jdbc e nada… já coloquei em jre/lib/ext e nada…

Tô usando o Eclipse Helios

Valeu! ;D

cara,

vc adicionou o jar do mysql no seu projeto? pq o erro que está ocorrendo é que não está encontrando as classes do Mysql.

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/gepi","root","1234"); 

t+

Seu programa está com erro de compilação. Se fosse o NetBeans ele nem rodava logo de cara, mas o Eclipse é “bonzinho” e deixa rodar, só que na hora que encontra o ponto do programa em que houve erro de compilação, ele gera essa exceção que é exclusiva do Eclipse.

java.lang.Error: Unresolved compilation problem:
Unhandled exception type ClassNotFoundException 

Acerte o seu programa (ele tem de ter mais uma cláusula “catch (ClassNotFoundException ex) { ex.printStackTrace(); }” e tente novamente.

Vc está registrando o driver do mysql, mas está usando uma connection String de odbc, precisa colocar a lib do jdbc para odbc e registrar o driver do odbc. Ou mudar a connection String para buscar direto o mysql ao invés do odbc. (Além do erro que o entanglement apontou)

[quote=alissonvla]cara,

vc adicionou o jar do mysql no seu projeto? pq o erro que está ocorrendo é que não está encontrando as classes do Mysql.

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/gepi","root","1234"); 

t+[/quote]

Criei uma pasta lib agora, na raiz do projeto… lá adicionei o jar do mysql

Depois cliquei com o botão direito no projeto [Properties -> Java Build Path -> Add external JARs…] e o adicionei no eclipse.

Porém, segue sem funcionar =(

vlw

Não entendi muito bem, sou iniciante ainda… mudei tudo para jdbc, no momento tá assim:

[code]
// Este é um dos meios para registrar um driver
Class.forName(“com.mysql.jdbc.Driver”);

// Registrado o driver, vamos estabelecer uma conexão
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/gepi”,“root”,“1234”); [/code]

vlw!

Não entendi muito bem, sou iniciante ainda… mudei tudo para jdbc, no momento tá assim:

[code]
// Este é um dos meios para registrar um driver
Class.forName(“com.mysql.jdbc.Driver”);

// Registrado o driver, vamos estabelecer uma conexão
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/gepi”,“root”,“1234”); [/code]

vlw![/quote]O erro que está dando é especificamente o que o entanglement postou, faltou o catch que verifica ClassNotFoundException.

O alerta que eu dei, é que no seu código lá em cima está:

            // Registrado o driver, vamos estabelecer uma conexão    
            Connection con = DriverManager.getConnection("jdbc:odbc:gepi","root","1234");  

Essa url é de ODBC, não de mysql, e vc está registrando o driver do mysql.

Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/gepi”,“root”,“1234”);

Essa parte do código vc entendeu legal ??

Por exemplo você está usando a porta 3306 , você configurou o TomCat com esta porta??

O seu banco de dados contém a senha 1234?

[quote=JoaoMarques]Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/gepi”,“root”,“1234”);

Essa parte do código vc entendeu legal ??

Por exemplo você está usando a porta 3306 , você configurou o TomCat com esta porta??

O seu banco de dados contém a senha 1234?

[/quote]assim vc confunde mais o rapaz, rsrsr

a porta 3306 é a porta padrão do mysql e nesse caso, está falando para o DriverManager se conectar ao MySQL por essa porta. Não é necessário que a aplicação dele esteja no tomcat para ele se conectar ao mysql. Desse jeito que está, pode ser (é provável) uma aplicação somente linha de texto. (sem interface amigável) Repare que tem o método main.