Pagina 1 di 1

[RISOLTO] Problema connessione: MySql - Java

Inviato: mar 10 nov 2009, 22:31
da dexter
Volevo creare un piccolo esempio per vedere se la connessione tra java e mysql funzionasse. Ma dopo aver scompattato e utilizzato il pacchetto del connettore per java appena avvio il programma mi da problemi sulla connessione. Il programma è il seguente:

Codice: Seleziona tutto

import java.io.*;
import java.sql.*;
import com.mysql.jdbc.*;

public class db {

    public static void main(String []args) {

	java.sql.Connection con = null;
	java.sql.Statement stmt = null;
	java.sql.ResultSet rs = null;

	try {
	    Class.forName("com.mysql.jdbc.Driver");
	    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/prova?user=root&password=*****");
	System.out.println("Connesso al database!");
	//	stmt = con.createStatement();

	//	rs = stmt.executeQuery("SELECT * FROM test");

	//	while(rs.next())
	//  System.out.println(rs.getString("ID") + " " + rs.getString("nome") + " " + rs.getString("congnome") + " " + rs.getString("eta"));
	}
	catch(SQLException e) {
	    e.printStackTrace();
	}
	catch(ClassNotFoundException e ){
	    e.printStackTrace();
	}

	finally {
	    try {
		if (con != null)	
		con.close();
	    }
	    catch(SQLException e) {
		e.printStackTrace();
	    }
	}
    }
}


L'errore che viene generato è il seguente:

Codice: Seleziona tutto

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

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection refused

STACKTRACE:

java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(Unknown Source)   
        at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.PlainSocketImpl.connect(Unknown Source)         
        at java.net.SocksSocketImpl.connect(Unknown Source)         
        at java.net.Socket.connect(Unknown Source)                  
        at java.net.Socket.connect(Unknown Source)                  
        at java.net.Socket.<init>(Unknown Source)                   
        at java.net.Socket.<init>(Unknown Source)                   
        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(Unknown Source)                        
        at java.sql.DriverManager.getConnection(Unknown Source)                        
        at db.main(db.java:15)                                                         


** END NESTED EXCEPTION **



Last packet sent to the server was 1 ms ago.
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2847)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at db.main(db.java:15)
Non capisco che cos'è che non va. Sto sbagliando qualcosa???

Re: Problema connessione: MySql - Java

Inviato: mar 10 nov 2009, 23:23
da raffaele181188
A quanto pare MySQL non accetta la connessione anche se l'host è lo stesso. Non ho mai capito perchè. Io risolsi modificando /etc/rc.d/rc.mysqld, ma può essere un problema per la sicurezza. Vedi tu insomma
Devi commentare questa linea

Codice: Seleziona tutto

SKIP="--skip-networking"
E riavviare con

Codice: Seleziona tutto

/etc/rc.d/rc.mysqld restart

Re: Problema connessione: MySql - Java

Inviato: mar 10 nov 2009, 23:53
da Naitso

Codice: Seleziona tutto

jdbc:mysql://localhost:3306/prova?user=root&password=*****"
connessione su porta TCP 3306

da /etc/rc.d/rc.mysqld

Codice: Seleziona tutto

# To allow outside connections to the database comment out the next line.
# If you don't need incoming network connections, then leave the line
# uncommented to improve system security.
SKIP="--skip-networking"
di default mysql utilizza il socket unix per le connessioni localhost

[RISOLTO] Problema connessione: MySql - Java

Inviato: mer 11 nov 2009, 12:38
da dexter
GRAZIE RAGAZZI!!!!!!!!!!!!!!!!! Il problema era quello adesso si connette al database....

Grazie ancora di tutto!!!