2014-02-04 3 views
0

Мой код:java.net.ConnectException СООБЩЕНИЕ: Тайм-аут соединения: подключение

package staffrecords; 

import com.mysql.jdbc.Connection; 
import com.mysql.jdbc.Statement; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 

public class StaffRecords { 

    public static void main(String[] args) { 

     Connection con = null; 
     Statement st = null; 
     ResultSet rs = null; 

     String databaseName = "SEGA"; 
     //String loginUrl = "jdbc:mysql://localhost:3307/" + databaseName; 
     String loginUrl = "jdbc:mysql://dbprojects.eecs.qmul.ac.uk:3306/" + databaseName; 
     String user = "SEGA";   
     String password = "*****"; 

     try 
     {      
      con = (Connection) DriverManager.getConnection(loginUrl, user, password); 
      st = (Statement) con.createStatement(); 
      String sql; 
      sql = "SELECT StaffID FROM Staff"; 
      rs = st.executeQuery(sql); 

      if (rs.next()) 
      { 
       String staffID = rs.getString("StaffID"); 

       System.out.print("StaffID: " + staffID); 
      }   
      rs.close(); 
      st.close(); 
      con.close(); 
     } 
     catch (SQLException ex) 
     { 
      System.out.println(ex); 
     }  
    } 
} 

И ошибка:

com.mysql.jdbc.CommunicationsException: Связь отказа канала связи с основной исключением:

** НАЧАТЬ вложенное ИСКЛЮЧЕНИЕ **

java.net.ConnectException СООБЩЕНИЯ: Тайм-аут соединения: подключение

StackTrace:

java.net.ConnectException: Connection timed out: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:241) 
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) 
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271) 
    at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771) 
    at com.mysql.jdbc.Connection.<init>(Connection.java:1555) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) 
    at java.sql.DriverManager.getConnection(DriverManager.java:579) 
    at java.sql.DriverManager.getConnection(DriverManager.java:221) 
    at staffrecords.StaffRecords.main(StaffRecords.java:28) 

** END NESTED ИСКЛЮЧЕНИЕ **

Последний пакет, отправленный на сервер был 2 мс назад. BUILD SUCCESSFUL (общее время: 24 секунды)

Есть ли простое решение, чтобы получить код для печати всех значений StaffID в таблице Staff?

ответ

1

Я сделал быстрый онлайн сканирование портов для этого адреса, и это выглядит как на стороне сервера не прослушивает порт 3306. конфигурации Может брандмауэра? Или просто остановил сервер/неправильный адрес.

0

Глядя, как этот драйвер бросает, что

reason can be that 

service not listening 
Connections are not free 
Смежные вопросы