[RISOLTO] Problema connessione: MySql - Java

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
dexter
Linux 2.x
Linux 2.x
Messaggi: 396
Iscritto il: mer 2 giu 2004, 0:00
Slackware: 12.2
Kernel: 2.6.33.1-smp
Desktop: GnomeSlacky 2.26.3
Contatta:

[RISOLTO] Problema connessione: MySql - Java

Messaggio 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???
Ultima modifica di dexter il mer 11 nov 2009, 12:39, modificato 1 volta in totale.

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: Problema connessione: MySql - Java

Messaggio 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

Avatar utente
Naitso
Linux 2.x
Linux 2.x
Messaggi: 208
Iscritto il: lun 10 nov 2008, 15:09

Re: Problema connessione: MySql - Java

Messaggio 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

dexter
Linux 2.x
Linux 2.x
Messaggi: 396
Iscritto il: mer 2 giu 2004, 0:00
Slackware: 12.2
Kernel: 2.6.33.1-smp
Desktop: GnomeSlacky 2.26.3
Contatta:

[RISOLTO] Problema connessione: MySql - Java

Messaggio da dexter »

GRAZIE RAGAZZI!!!!!!!!!!!!!!!!! Il problema era quello adesso si connette al database....

Grazie ancora di tutto!!!

Rispondi