ho una piccola applicazione java (postata sotto,naturalmente user e psw e nome db sono cambiati per pubblicarlo) che si connette al database di helloweb per visualizzare i record del mio database,
solo che quando provo ad eseguirla mi da quest'errore:
Errore:com.mysql.jdbc.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
ho letto alcuni 3d ma hanno risolto semplicemente aprendo la porta 3306.
io ho il firewall di windows disattivato(e cmq la porta 3306 consentita), uso avast che non dovrebbe dare problemi (e cmq ho provato l'esecuzione con avast disattivato), e non ho altri firewall
che cosa sbaglio?i dati?può essere che la porta in ascolto del server è diversa?come faccio a saperlo?
spero in un vostro aiuto (o la prof mi boccia)
codice:import java.sql.*; public class connessionejdbc { /** Creates a new instance of connessionejdbc */ public static void main(String args[]) { try{ // Carico il Driver MySQL Class.forName( "com.mysql.jdbc.Driver" ); // Mi connetto al DataBase con le mie credenziali Connection conn = DriverManager.getConnection( "jdbc:mysql://mysql.helloweb.eu:3306/db1", //connettiamoci al db1 di helloweb "miouser", "miapsw" ); // Eseguo le istruzioni MySQL Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( "SELECT * FROM utenti" ); while ( rs.next() ) { int numeroColonne = rs.getMetaData().getColumnCount(); for ( int i = 1 ; i <= numeroColonne ; i++ ) { // I numeri di colonna iniziano da 1. // Vi sono diversi metodi che convertono il valore di una colonna in un certo tipo. // Vedi la documentazione per una lista delle conversioni valide. System.out.println( "COLONNA " + i + " = " + rs.getObject(i) ); } } rs.close(); stmt.close(); }catch (Exception e){ System.out.println("Errore:"+e); } } }

)
Rispondi quotando