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…
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)
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]
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.
[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.