Database MySQL con JAVA

di il
3 risposte

Database MySQL con JAVA

Salve a tutti
sto provando a collegare il database MySQL con Java, ma ho qualche problema...
package myDatabase;

import java.sql.*;


public class DBConnect {
	private Connection conn;
	private Statement st;
	private ResultSet rs;
	
	public DBConnect() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "test", "test");
			st =conn.createStatement();
			
			
			
		} catch(Exception ex) {
			System.out.println("Error:" +ex);
		}
	}

	public void getData() {
		try {
			
			String query =	"select * from persona";
			rs = st.executeQuery(query);
			System.out.println("Records form database");
			while (rs.next()) {
				String name =rs.getString("name");
				String age = rs.getString("age");
				System.out.println("Name: "+name+"  Age: "+age);
			}
			
		}catch(Exception ex) {
			System.out.println("Error"+ex);
		}
	}
}
package myDatabase;



public class MainApplication {

	public static void main(String[] args) {
		
		DBConnect connect = new DBConnect();
		connect.getData();
		}
	
	}
Ho importato tutto, quindi non è quello il problema...
Esce il seguente errore quando avvio il main...
Error:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Errorjava.lang.NullPointerException
Qualcuno sa dirmi il perchè? ho cercato un po' su google e anche altri hanno lo stesso problema, ma non ho trovato come risolvere...

3 Risposte

  • Re: Database MySQL con JAVA

    Il miglior sistema per risolvere questi problemi (e' un classico) e' quello di trovare un client JDBC (ce ne sono diversi, sia con GUI che a linea di comando) con cui collegarti.

    Se MySQL e' in esecuzione, il db esiste, l'utente esiste, ha quella password, ed ha il diritto di accedere al db, e funziona con il comando mysql (il client a linea di comando integrato con la distribuzione del dbms), allora DEVE funzionare anche in Java.

    Quindi:

    1) controlla che la query funzioni usando il client nativo di MySQL
    2) scaricati un client JDBC (ad esempio SQuirreL)
    3) configuralo e connettiti.

    Un'altro trucco e: quello di usare telnet per controllare che MySQL risponda proprio a quell'ip
  • Re: Database MySQL con JAVA

    Hai importato il driver mysql nel progetto?
  • Re: Database MySQL con JAVA

    dvaosta ha scritto:


    Hai importato il driver mysql nel progetto?
    Sì, ovviamente...

    Per farlo funzionare mi è bastato cambiare la porta

    da 3006 --> 3007
    ("jdbc:mysql://localhost:3306/test", "test", "test");
    Non so se sia un coincidenza, ma comunque ora funziona!
Devi accedere o registrarti per scrivere nel forum
3 risposte