Erro! MySQL conexão c/ Java!

Estou tentando conectar o banco MySQL ao Java mas ta dando o seguinte erro.

[color=red]Communication failure during handshake. Is there a server running on localhost:3306?[/color]

Parte do código.

String url = “jdbc:mysql://localhost:3306/upis/”;
String user = “root”;
String password = “12345678”;

Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
Conn = DriverManager.getConnection(url,user,password);

Alguem sabe que erro e esse !!!

Tenho instalado o Apache2Triad.

O seu MySqL não está rodando. por isso não está coneguindo conectar

Estou com o MySQL aberto.

Tela.


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 48 to server version: 4.1.11-log

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql> _


Na sua lista de processos que estão rodando no windows veja se existe um processo chamado: mysqld-nt. Se o seu servidor estiver funcionando ele vai ter q estar parecendo.

Esta o [size=18]mysqld[/size].

Baixe este programa e instale, e com ele teste a conecção com o MySql…

http://www.mysql.com/products/query-browser/

Eu conecto sempre com o MySql desta forma:

com.mysql.jdbc.jdbc2.optional.MysqlDataSource MySql = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();
MySql.setServerName("127.0.0.1");
MySql.setPort(3306);
MySql.setDatabaseName("database");
MySql.setUser("root");
MySql.setPassword("");

Connection con = MySql.getConnection();
Statement stat = con.createStatement();
ResultSet rs   = stat.executeQuery("select * from table");

Tenta ai… que java e mysql da uma conbinação perfeita :wink:

Amigo, copiei esse programa MySQL Query Browser e conectou tudo certo. apareceu as tabelas que eu criei tudo beleza.

Eu acho que e alguma coisa mesmo no codigo java.

Continua dando esse erro.

Communication failure during handshake. Is there a server running on localhost:3306?

Se eu colocar esse seu código vai funcionar?!!

Essa linha aqui não entendi direito.

com.mysql.jdbc.jdbc2.optional.MysqlDataSource MySql = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();

Existe varias maneiras de conectar com o Mysql, eu prefiro conectar com o MysqlDataSource, pois acho mais prático do que usar:

Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

Além de ser mais intuitivo… pois a class com.mysql.jdbc.jdbc2.optional.MysqlDataSource já faz esta tarefa “chata” para vc, e já tem valores pre-definidos, e basta fazer os Sets para adquar com a sua configuração…

E se funciona??? heee Funciona que é uma maravilha… o que faço normalmente é ter uma class com um método que retorna a Connection… assim sempre que precisar mudar o Server, ou a Database, ou User e Pass, basta alterar nesta class e todo o sistema já fica pronto para trabalhar… e ainda tem a vantagem de não precisar ficar colocando isto:

Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

Toda vez que é preciso se conectar ao Mysql… sinceramente não sei por que ainda usam esta forma de conectar sendo que há uma maneira muito mais simples… pois o MysqlDataSource é mesmo para simplificar as coisas além de ser mais organizado…

:wink:

Há e me esqueci de verificar uma coisa, qual a versão do seu Mysql e do J-Connector???

Se estiver a usar o Mysql 4.1 ou 5 usa este connector… pois uso sempre este e funciona muito bem…

http://dev.mysql.com/downloads/connector/j/3.1.html

:smiley:

Há e me esqueci de verificar uma coisa, qual a versão do seu Mysql e do J-Connector???

Se estiver a usar o Mysql 4.1 ou 5 usa este connector… pois uso sempre este e funciona muito bem…

http://dev.mysql.com/downloads/connector/j/3.1.html

:smiley:

Uso o conector 2.0.014.

Sera que ta dando erro por isso , tenho que colocar a versão mais atual???

Heeee com certeza deve ser por isso… meu já vai na versão 3… e deve ter melhorado qualquer coisa da 2 para a 3 :wink: … use sempre as ultimas versões Release, se mantenha sempre atualizado, se não vais esbarrar sempre em erros malucos e dai fica difícil ajudar.

Tenta ai e depois diz qualquer coisa… Mete bronca nisso :wink: good luck

No eclipse para adicionar esse conector e do mesmo jeito do outro Bibliotecas -> incluir jar Externos , ai adiciona o arquivo mysql-connector-java-3.1.8a.zip ???

Como chamo ele aqui e do mesmo jeito ?

Class.forName("[color=blue]org.gjt.mm.mysql.Driver[/color]").newInstance();

Meu para conectar vc é q sabe, de uma forma ou de outra chegas lá… agora é assim tens q extrair o conteúdo do Zip… e adicionar o Jar que esta dentro do Zip ao seu projeto…

sim, é do mesmo jeito, mas não é o zip…vc deve adicionar o jar.

sobre conexao
http://dev.mysql.com/doc/connector/j/en/cj-connect-with-drivermanager.html

please, leia a documentação…sempre :smiley:

[]´s

Valeu pessoal deu certo, o problema era o conector eu estava usando a versão 2.0.

[color=red][size=18]VALEU!!![/size][/color]

Valeu pessoal deu certo, o problema era o conector eu estava usando a versão 2.0.

[color=red][size=18]VALEU!!![/size][/color]

Legal meu… até q fim :smiley:

Agora dá uma olhada na mensagem que postei em

http://www.guj.com.br/posts/list/15/24611.java

Coloquei ali uma maneira simples de conectar ao MySql de maneira prática… sendo fácil alterar qualquer parâmetro da conecção.

Tava dando certinho, agora quando compilo esta dando [color=red]null[/color] e não aparece nada.

Vc sabe o que pode ser??

O que está dando null?
Coloca o Stacktrace aí…