Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    residenza
    napoli
    Messaggi
    65

    connessione jdbc server locale

    Salve ragazzi ho un piccolo programmino in java che si collega ad un database mysql che si trova su un server nella rete locale quando provo a collegarmi con il driver jdbc mi restituisce questo errore com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: Communications link failurecredo sia un problema di permessi forse di apache non so , ho provato a creare un utente all'interno di phpmyadmin con tutti i privilegi e come parametro host ho messo " % " ma nnt non va....

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da dannos Visualizza il messaggio
    ad un database mysql che si trova su un server nella rete locale
    Se è su un'altra macchina, diversa da quella da cui stai cercando di fare la connessione ... hai verificato che la porta usata dal server MySQL sia "aperta" verso la rete locale?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2015
    residenza
    napoli
    Messaggi
    65
    questa e la classa che uso per la connessione in localhost sul server funziona
    Recupero l'ip e il nome del database da un file xml come ip ce ovviamente l'ip locale del pc server (che si tratta di un raspberry )
    codice:
     public static Connection getConnect()
        {
            Connection conn = null;
            try
            {
                LeggiFileXml config = new LeggiFileXml();
                Class.forName("com.mysql.jdbc.Driver");
                String url = "jdbc:mysql://"+config.getIndirizzoIp()+"/" + config.getNomeDb();
               // String url = "jdbc:mysql:///" + config.getNomeDb();
                try
                {
                    conn = (Connection) DriverManager.getConnection(url, config.getUser(), config.getPass());
                    // TODO code application logic here
                }
                catch (SQLException ex)
                {
                    JOptionPane.showMessageDialog(null, "Errore connessione database controllare dati file config");
                    Logger.getLogger(UtilityDB.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
            catch (ClassNotFoundException ex)
            {
                JOptionPane.showMessageDialog(null, "Errore connessione 2");
                Logger.getLogger(UtilityDB.class.getName()).log(Level.SEVERE, null, ex);
            }
           
            return conn;
    
    
        }

    la porta dovrebbe essere quella di default del wamp server cioè la 80
    Ultima modifica di dannos; 03-08-2016 a 14:56

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,318
    Quote Originariamente inviata da dannos Visualizza il messaggio

    la porta dovrebbe essere quella di default del wamp server cioè la 80

    No, la porta 80 è quella usata dal server HTTP (per le connessioni HTTP appunto). Quello che serve verificare è che sia aperta la porta del server MySQL (di default MySQL usa la 3306 e, sempre di default, se non ricordo male, i server WAMP/LAMP applicano delle impostazioni tali per cui il DB non è direttamente raggiungibile dall'esterno... ed è anche cosa buona, per quello).


    Ciao.
    Ultima modifica di LeleFT; 03-08-2016 a 15:05
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da dannos Visualizza il messaggio
    la porta dovrebbe essere quella di default del wamp server cioè la 80
    No. MySQL per default è sulla porta 3306. La porta 80 "sa" tipicamente di server HTTP.

    Ma ripeto: quando client e server sono macchine distinte, bisogna verificare firewall, router e quant'altro, in generale, ci possa essere tra le due macchine.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2015
    residenza
    napoli
    Messaggi
    65
    ragazzi scusate ma sono poco pratico come posso fare per controllare se la porta 3306 è aperta ???

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da dannos Visualizza il messaggio
    ragazzi scusate ma sono poco pratico come posso fare per controllare se la porta 3306 è aperta ???
    Verifica se la macchina dove gira il MySQL ha un firewall software attivo e verifica la sua configurazione. Ma può non essere facile e se si tratta di uno unix-like, non ti so proprio aiutare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2015
    residenza
    napoli
    Messaggi
    65
    bhe ragazzi ho provato a montare un secondo pc con windows ho installato il wamp server ho tolto tutti i firewall e antivirus potreste darmi qualche dritta per vedere le porte sono aperte su questo pc ????
    grazie

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.