Tenho aqui instalado o AppServ, que vem o Apache+PHP+MySQL+phpmyadmin, um servidor local normal.
Fiz um projeto no BlueJ para conectar ao BD MySQL, só que não vai de jeito nenhum!
Sempre dá o erro: Exception: com.mysql.jdbc.Driver
Segue o código:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQL{
public static void main(String args[]) {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=123456");
if(!con.isClosed())
System.out.println("Successfully connected to MySQL server using TCP/IP...");
} catch(Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
try {
if(con != null)
con.close();
} catch(SQLException e) {}
}
}
}
Já baixei o Conector/J, já setei o classpath nas variáveis de ambiente, enfim, já fiz praticamente tudo aqui…
Nas variáveis de ambiente está assim:
Variáveis de Usuário:
Nome -> Valor
JAVA_HOME - > F:\Arquivos de programas\Java
PATH -> F:\AppServ\Apache2.2\bin;F:\AppServ\php5;F:\AppServ\MySQL\bin;F:\Arquivos de programas\Java\jdk1.6.0_03\bin\
Variáveis do Sistema:
Nome -> Valor
CLASSPATH -> .;%CLASSPATH%;F:\Arquivos de programas\Java\jdk1.6.0_03\lib\tools.jar;F:\Arquivos de programas\Java\jre1.6.0_05\lib\ext\QTJava.zip;F:\AppServ\MySQL\mysql-connector-java-5.1.6-bin.jar
PATH -> %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;F:\Arquivos de programas\Support Tools;F:\Arquivos de programas\Smart Projects\IsoBuster;F:\Arquivos de programas\Universal Extractor\bin;F:\Arquivos de programas\QuickTime\QTSystem;F:\Arquivos de programas\Altiris\Software Virtualization Agent;F:\Arquivos de programas\Java\jdk1.6.0_03\bin
JAVA_HOME -> F:\Arquivos de programas\Java\
Obs.: Não liguem para o F:\ não… rs :oops:
E na facul roda normalmente… Mas lá está instalado o MySQL Server, que no caso estou puxando aqui agora para ver se é por isso, mas de qualquer forma, toda ajuda é sempre bem vinda!
você pode postar o stacktrace completo? Assim facilita nosssa vida!
:lol: [/quote]
Meu amigo, me desculpe, mas o que é StackTrace? Não sei o que é, mas deve ser isso:
Exception: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at MySQL.main(MySQL.java:11)
at __SHELL5.run(__SHELL5.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:855)
você pode postar o stacktrace completo? Assim facilita nosssa vida!
:lol: [/quote]
Meu amigo, me desculpe, mas o que é StackTrace? Não sei o que é, mas deve ser isso:
Exception: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at MySQL.main(MySQL.java:11)
at __SHELL5.run(__SHELL5.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:855)
Caso eu esteja errado, me corrija. Valeu!![/quote]
É isso mesmo!
O Java não encontra a classe com.mysql.jdbc.Driver no seu classpath.
A variável de ambiente CLASS_PATH, aparentemente, está correta.
O problema é que ao se rodar o java com a opção -cp habilitada, o conteúdo dessa variável de ambeinte é ignorado. Geralmente as IDEs rodam os programas com a opção -cp.
Você vai ter que procurar no BlueJ, aonde você pode setar as libraries do seu projeto, dessa maneira, o BlueJ colocara automaticamente o jar do Connector/J no seu classpath.
você pode postar o stacktrace completo? Assim facilita nosssa vida!
:lol: [/quote]
Meu amigo, me desculpe, mas o que é StackTrace? Não sei o que é, mas deve ser isso:
Exception: com.mysql.jdbc.Driver
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at MySQL.main(MySQL.java:11)
at __SHELL5.run(__SHELL5.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:855)
Caso eu esteja errado, me corrija. Valeu!![/quote]
É isso mesmo!
O Java não encontra a classe com.mysql.jdbc.Driver no seu classpath.
A variável de ambiente CLASS_PATH, aparentemente, está correta.
O problema é que ao se rodar o java com a opção -cp habilitada, o conteúdo dessa variável de ambeinte é ignorado. Geralmente as IDEs rodam os programas com a opção -cp.
Você vai ter que procurar no BlueJ, aonde você pode setar as libraries do seu projeto, dessa maneira, o BlueJ colocara automaticamente o jar do Connector/J no seu classpath.
[/quote]
Humm ok! Fui em Options -> Preferences -> Libraries e adicionei o .jar do Conector MySQL e funfou!