Non riesco a connettermi al database esterno

di il
16 risposte

Non riesco a connettermi al database esterno

 String url = "jdbc:mysql://000.0.000.00:porta/nome_db";//al posto di localhost mettere l'ip del server e nell'ultmo mettere il nome del database
            String username = "username";
            String password = "password";

            con2 = DriverManager.getConnection(url, username, password);
            System.out.println("Qui non arriva");

Questo è il messaggio che ricevo com.mysql.cj.jdbc.exceptions.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.

16 Risposte

  • Re: Non riesco a connettermi al database esterno

    Ho passato il programma al collega e dice che dal suo e da altri computer riesce a connettersi senza problemi, dal mio computer non riesce... ho provato a disattivare gli antivirus, ma nessuna differenza... Aiuti?
  • Re: Non riesco a connettermi al database esterno

    Voglio sperare che tu abbia scritto "000.0.000.00:porta" solo per nascondere il reale indirizzo ip e la reale porta qui sul forum... generalmente quel tipo di errore indica un problema di rete:

    1) C'è un firewall che blocca l'accesso a quel IP o a quella porta
    2) Il server sta su una sottorete diversa ed il firewall non instrada correttamente (o volontariamente) il traffico dalla tua sottorete a quella del server
    3) Il server non è in piedi (ma questo viene smentito dai tuoi colleghi)
    4) Sul tuo PC hai un'impostazione nel filr hosts che gira l'indirizzo IP (o il nome host) verso un altra macchina diversa da quella che ti aspetti
    5) I tuoi colleghi hanno mappato quel indirizzo (o quel nome di host) verso la macchina corretta, mentre tu sul tuo PC no.
    6) Altro che ora non mi viene in mente, ma sempre un problema di connessione.
  • Re: Non riesco a connettermi al database esterno

    SpiritoLibero ha scritto:


    Voglio sperare che tu abbia scritto "000.0.000.00:porta" solo per nascondere il reale indirizzo ip e la reale porta qui sul forum...
    Sì, certo...



    Ho provato anche su mysql workbench e non funziona.
  • Re: Non riesco a connettermi al database esterno

    Perdona la domanda ma... che significa?
    Da quel che so MySQL Workbench altro non è che uno strumento visuale per fare tante belle cose con MySQL...
    Intendi dire che hai provato anche con MySQL Workbench e nemmeno lui riesce a collegarsi? Lo riterrei "normale"... se non ci riesce il driver JDBC è molto probabile che non ci riesca nessun altro strumento...

    L'eccezione che hai postato significa una cosa sola: il driver JDBC non è riuscito a collegarsi con MySQL. Ti ho dato un elenco di 5 possibili cause da controllare. Hai controllato?
  • Re: Non riesco a connettermi al database esterno

    Verifica, come ti hanno già suggerito, se la porta del server è raggiungibile o no.

    Per farlo puoi utilizzare il tool con il seguente comando:
    portqry -n hostnameserver -p tcp -e portaMySQL
    Se come risultato ti restituisce FILTERED, allora la porta è sicuramente non raggiungibile.(Firewall Windows, Firewall AV, Firewall Aziendale, Etc..)
    Un risultato LISTENING indica che la porta è raggiungibile ed il servizio è in esecuzione.
    Un risultato NOT LISTENING indica che la porta è raggiungibile ma non c'è un servizio in ascolto/esecuzione.
  • Re: Non riesco a connettermi al database esterno

    Pare che entrando con MySQL Workbench entri senza problemi all'inizio. Faccio "USE nome_database;" e mi da la spunta verde, quindi dovrebbe entrare, ma se provo a fare un qualche comando con SELECT mi da questo errore...

    select * from table_c Error Code: 1142. SELECT command denied to user 'user'@'000.00.000.00' for table 'table_c'

    Ho provato a cercarlo su google, ma non capisco le soluzioni...
  • Re: Non riesco a connettermi al database esterno

    Fix ha scritto:


    Verifica, come ti hanno già suggerito, se la porta del server è raggiungibile o no.

    Per farlo puoi utilizzare il tool con il seguente comando:
    portqry -n hostnameserver -p tcp -e portaMySQL
    Se come risultato ti restituisce FILTERED, allora la porta è sicuramente non raggiungibile.(Firewall Windows, Firewall AV, Firewall Aziendale, Etc..)
    Un risultato LISTENING indica che la porta è raggiungibile ed il servizio è in esecuzione.
    Un risultato NOT LISTENING indica che la porta è raggiungibile ma non c'è un servizio in ascolto/esecuzione.
    Questa risposta non l'ho proprio capita, dove lo devo mettere il codice?
  • Re: Non riesco a connettermi al database esterno

    Per farlo puoi utilizzare il tool Portqry
  • Re: Non riesco a connettermi al database esterno

    p0ll0_ ha scritto:


    Pare che entrando con MySQL Workbench entri senza problemi all'inizio. Faccio "USE nome_database;" e mi da la spunta verde, quindi dovrebbe entrare, ma se provo a fare un qualche comando con SELECT mi da questo errore...

    select * from table_c Error Code: 1142. SELECT command denied to user 'user'@'000.00.000.00' for table 'table_c'

    Ho provato a cercarlo su google, ma non capisco le soluzioni...
    Sembrerebbe un problema di (assenza di) permissions (in particolare potrebbe mancare la permission SELECT sul DB) ... : prova a leggere questo https://stackoverflow.com/questions/4767055/error-select-command-denied-to-user-useridip-address-for-table-table
  • Re: Non riesco a connettermi al database esterno

    Qualcuno mi può aiutare?
  • Re: Non riesco a connettermi al database esterno

    Hai fatto la prova che ti ha suggerito Fix? O no?
  • Re: Non riesco a connettermi al database esterno

    oregon ha scritto:


    Hai fatto la prova che ti ha suggerito Fix? O no?
    Il mio suggerimento di PortQry credo non sia più necessario, perchè si è passati da "Ho provato anche su mysql workbench e non funziona." a "Pare che entrando con MySQL Workbench entri senza problemi all'inizio", quindi alla porta del Server ci arriva.

    Come scritto da Max, adesso sembrerebbe un problema di permessi per l'utente "user"

    @p0ll0_
    Quando hai creato l'utente "user" su MySql, hai dato anche i permessi per eseguire delle Select al Database che intendi interrogare ?
    Hai dato i permessi di accesso da qualsiasi ambito ? (host=%)
    Come hai creato l'utente ?
  • Re: Non riesco a connettermi al database esterno

      con.prepareStatement("CREATE TABLE IF NOT EXISTS table_users\n"
                        + "(user VARCHAR(45),\n"
                        + "password VARCHAR(45),\n"
                        + "name VARCHAR(150),\n"
                        + "surname VARCHAR(150),\n"
                        + "gender VARCHAR(1),\n"
                        + "social_security_number VARCHAR(255),\n"
                        + "primary_phone VARCHAR(40),\n"
                        + "secondary_phone VARCHAR(40),\n"
                        + "home_phone VARCHAR(40),\n"
                        + "email VARCHAR(255),\n"
                        + "place_of_birth VARCHAR(85) ,\n"
                        + "date_of_birth DATE ,\n"
                        + "hire_date DATE, \n"
                        + "date_user_creation DATETIME DEFAULT NOW(),\n"
                        + "last_edit_date DATETIME,\n"
                        + "last_edit_user varchar(45),\n"
                        + "photos VARCHAR(255),\n"
                        + "job VARCHAR(255),\n"
                        + "tasks VARCHAR(255),\n"
                        + "field VARCHAR(25),\n"
                        + "notes VARCHAR(255),\n"
                        + "deleted BOOLEAN DEFAULT false,\n"
                        + "date_removal DATETIME,\n"
                        + "input_user varchar(45),\n"
                        + "removal_user varchar(45),\n"
                        + "special_user BOOLEAN DEFAULT false,\n"
                        + "sent_to_external_DB BOOLEAN DEFAULT false,\n"
                        + "PRIMARY KEY(user));").executeUpdate();
     con.prepareStatement("INSERT INTO table_settings (user)"
                        + "VALUE ('admin');").executeUpdate();
  • Re: Non riesco a connettermi al database esterno

    Sono tornata su MySQL WorkBench e se faccio use nomeDatabase; funziona, e a sinistra mi mostra le tabelle, ma mi dice che sono senza colonne (vuote) e se provo a creare una tabella non funziona...
    E sopra all'elenco delle tabella mi appare la scritta "Tables could not be fetched".... Grazie mille !
Devi accedere o registrarti per scrivere nel forum
16 risposte