bazy danych - problem z połaczeniem

0

Witam, jestem początkującym jeśli chodzi o JDBC, więc problem być może błachy. Zrobiłem sobie testowy programik na localhost, by połączyć się z myqsl. Działa bez zarzutu, czytam rekordy.
Natomiast jeśli chce się połączyć z innym komputerem w domenie do bazy myqsl na niej zainstalowanej, to mam błędy. Może ktoś pomoże?

import java.sql.*;

public class jdbc {

public static void main(String[] args) {
	try {
	*String url = "jdbc:mysql:*/serwlet_test"; tak bylo z baza lokalna i dzialalo
	String url = "jdbc:mysql://nazwa_kompa.biuro.nazwa_firmy.pl:3306/serwlet_test";
	String username = "root";
	String password = "";
    Class.forName("com.mysql.jdbc.Driver");

	Statement s = null;
	Connection c = null;
	String connSpec = url+"?user="+username+"&password="+password;
	c = DriverManager.getConnection (connSpec);
	s = c.createStatement();
	String sql = "SELECT * FROM WYNIKI;";
	ResultSet wynik = s.executeQuery(sql);
			while (wynik.next()) {
			String id = wynik.getString("id");
			String nazwa = wynik.getString("nazwa");
			System.out.println("Nazwa "+id+", data "+nazwa);
			}c.close();

	} catch (ClassNotFoundException e) {
	e.printStackTrace();
	}
	catch (SQLException e) {
		e.printStackTrace();
		}
}

}

a tutaj błędy:

java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.ConnectException: Connection timed out: connect

  • BEGIN NESTED EXCEPTION **

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

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection timed out: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at jdbc.main(jdbc.java:17)

  • END NESTED EXCEPTION **

    at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
    at com.mysql.jdbc.Connection.<init>(Connection.java:452)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at jdbc.main(jdbc.java:17)

0

Z tego, co pamiętam, to domyślnie serwer MySQL nie zezwala na łączenie się z innej maszyny niż localhost. Być może stąd ten problem. Trzeba by poczytać jak ustawić serwer, żeby zezwalał. Można też znaleźć w necie jakiś darmowy hosting MySQL, który z racji tego czym jest dopuszcza połączenia z innych maszyn i na nim potestować program.

1 użytkowników online, w tym zalogowanych: 0, gości: 1