MySql conexão com servidor

Estou tentando conectar ao um servidor de mysql mas esta dando o seguinte erro

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.ConnectException
MESSAGE: Connection timed out: connect

STACKTRACE:

java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.(Socket.java:366)
at java.net.Socket.(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2744)
at com.mysql.jdbc.Connection.(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at BaseFilmes.conecta(BaseFilmes.java:254)
at BaseFilmes.getLimite(BaseFilmes.java:38)
at Controle.getLimiteFilme(Controle.java:109)
at InsereFilmes.(InsereFilmes.java:14)
at AreaDeTrabalho$2.actionPerformed(AreaDeTrabalho.java:60)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

** END NESTED EXCEPTION **

public class BaseCliente
{
	Statement stExec;
	ResultSet rs;
	Connection conn;
	String JDBC_URL = "jdbc:mysql://mysql.inf.ufsc.br/base";
	String USUARIO = "usuario";
	String SENHA = "senha";


	try
	{
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		conn = DriverManager.getConnection(JDBC_URL,USUARIO,SENHA);
		stExec = conn.createStatement();
	}
	catch(Exception ex)
	{
		JOptionPane.showMessageDialog(null, "Erro ao conectar cliente", "Locadora", 
			JOptionPane.ERROR_MESSAGE);
		ex.printStackTrace();
	}
}

Não sei se é isso mas o seu host está correto?
e onde está o ResultSet?
T+

Tente Colocar a porta :

String JDBC_URL = “jdbc:mysql://mysql.inf.ufsc.br:3306/base”;

Dica, talvez usar uma fábrica de conexões?

Tipo assim:

package br.com.seupacote.jdbc;

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

import com.mysql.jdbc.Connection;

public class ConnectionFactory {

public static Connection getConnection() throws SQLException {
	try {
		Class.forName("com.mysql.jdbc.Driver");
		return (Connection)DriverManager.getConnection("jdbc:mysql://nomehost:3306/database", "root", "");
	} catch (ClassNotFoundException e) {
		throw new SQLException(e.getMessage());
	}
}

}

É que o código não esta exatamente assim, existe um método conecta(), todo método que faz qualquer coisa na bd usa esse método.

ali só ta o conecta().
mas o problema esta na conexão

Tentei usar a factory, também não deu, sera que é algum problema no meu computador? O Firewall foi desligado e nada.

E o servidor não especifica a porta que devo me conectar. Pela porta padrão não funcionou, nem a 8080 e 80.

[quote=outt]É que o código não esta exatamente assim, existe um método conecta(), todo método que faz qualquer coisa na bd usa esse método.

ali só ta o conecta().
mas o problema esta na conexão

Tentei usar a factory, também não deu, sera que é algum problema no meu computador? O Firewall foi desligado e nada.

E o servidor não especifica a porta que devo me conectar. Pela porta padrão não funcionou, nem a 8080 e 80.
[/quote]

Post o seu método conecta();
pra gente dá um olhada.
Abraços

public void conecta()
{
	try
	{
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		conn = DriverManager.getConnection(JDBC_URL,USUARIO,SENHA);
		stExec = conn.createStatement();
	}
	catch(Exception ex)
	{
		JOptionPane.showMessageDialog(null, "Erro ao conectar cliente", "Locadora", 
			JOptionPane.ERROR_MESSAGE);
		ex.printStackTrace();
	}
	
}

Era o que ja tava ali.
Esse código conecta no meu localhost com MySQL 5.0.

Estou usando mysql-connector-java-5.0.7 e o servidor usa MySQL - 4.1.20

Vc colocou o seu mysql-connector-java-5.0.7 no CLASSPATH?

Esta sim, na variável PATH:

o C:\Arquivos de programas\Java\jdk1.6.0_03\mysql-connector-java-5.0.7
e o C:\Arquivos de programas\Java\jdk1.6.0_03\jre\lib\ext

Tem que colocar no CLASSPATH,
Caso não tenha essa variavel de ambiente crie-a.
E acrescente o caminho completo até o mysql-connector-java-5.0.7

Criei a CLASSPATH
coloqui o caminho, mas não funcionou.

como está o caminho dentro da CLASSPATH?

pra ter certeza eu botei tudo isso
C:\Arquivos de programas\Java\jdk1.6.0_03\jre\lib\ext;
C:\Arquivos de programas\Java\jdk1.6.0_03;
C:\Arquivos de programas\Java\jdk1.6.0_03\mysql-connector-java-5.0.7;
C:\Arquivos de programas\Java\jdk1.6.0_03\bin;
C:\Arquivos de programas\MySQL\MySQL Server 5.0\bin

Remova tudo e tente o seguinte:
%CLASSPATH%;C:\Arquivos de c:\Arquivos de programas\Java\jdk1.6.0_03\mysql-connector-java-5.0.7\mysql-connector-java-5.0.7-bin.jar;
Mas confira se dentro do diretório mysql-connector-java-5.0.7 tem o execuável .jar (mysql-connector-java-5.0.7-bin.jar)

Não funcionou também.
É exatamente como você colocou ali ou , como eu imagino, tem um erro naquela repetição?

não, é exatamente como coloquei.

eu setei a variável até exatamente ao executável do connector.

bom caso não deu, o problema está no código.

qual ide tá utilizando?

é que tu colocou assim essa parte.

  • C:\Arquivos de c:\Arquivos de programas -
    Mas de qualquer forma, tentei do jeito que botasse e sem a repetição ali.

Estou usando JCreator.
Acho que o problema esta no host.
no site da administração esta assim, não sei se essa informação pode ajudar:

Comando para acesso ao servidor mysql via computadores: venus, marte, etc:
mysql -h mysql.inf.ufsc.br -u usuario -p

E também isso
Servidor: mysql.inf.ufsc.br via TCP/IP
Usuário: usuario@terra.inf.ufsc.br

ali no “jdbc:mysql://mysql.inf.ufsc.br/usuario” eu ja testei de tudo.
mas não tenho muito conhecimento de sockets, não faço a minima idéia do que esta acontecendo.