1

My code:

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);
        }      
    }
}

And the error is:

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.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 EXCEPTION **

Last packet sent to the server was 2 ms ago. BUILD SUCCESSFUL (total time: 24 seconds)

Is there a simple solution to get the code to print out all the StaffID values in the table Staff?

2 Answers 2

1

I did a quick online port scan for that address and it looks like the server side is not listening on port 3306. Maybe firewall configuration? Or just stopped server/wrong address.

Sign up to request clarification or add additional context in comments.

Comments

0

Looking like that Driver is throwing that

reason can be that

service not listening
Connections are not free 

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.