Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    6

    [Java] Errore connessione MySQL (classe non accettata)

    Ciao a tutti, chiedo scusa se riapro un topic chiuso ma non so come risolvere il mio problema:

    ho la classe java del post Pillola per db Mysql per la connessione al db MySQL e ho il problema che non mi accetta la classe, ovvero alla riga
    codice:
    Class.forName("com.mysql.jdbc.Driver");
    mi restituisce l'errore (tramite la funzioen isconnect, quindi il e.getmessage())
    codice:
    com.mysql.jdbc.Driver
    ho estratto dal jconnector il jconnector4.0 (JSQLConnect.jar) nella main della mia applicazione e nella cartella \build\classes indicata nella java path
    codice:
    System.getProperty("java.class.path");
    Uso netbeans 6.1, sono un novello di java e non capisco dove sbaglio, qualcuno ha qualche suggerimento?

    Il db risiede su un altro pc (non l'ohcalhost) e se mi connetto "graficamente" con NetBeans (finestra services) funziona perfettamente.

    grazie
    Ciao
    Nick

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    devi aggiungere il file jar come libreria del progetto clicca col tasto destro sul progetto->Properties->Libraries->Add JAR/Folder
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    6
    GRazie per l'aiuto, l'ho inserito (in tutte e 4 le schede (compile, run, compile test, run test) ma nulla, l'errore è sempre quello

  4. #4
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da Nick979
    GRazie per l'aiuto, l'ho inserito (in tutte e 4 le schede (compile, run, compile test, run test) ma nulla, l'errore è sempre quello
    sicuro di aver scaricato quello giusto? si dovrebbe chiamare mysql-connector-java-5.1.6-bin.jar
    o una cosa simile
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    6
    usavo il pacchetto sbaglaito
    usando mysql-connector-java-5.1.6-bin.jar non mi da l'errore ma l'applicazione si pianta

    ora vedo di capire come mai...

    grazie, se hai altri suggerimenti.. ben accetti

  6. #6
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790
    Originariamente inviato da Nick979
    usavo il pacchetto sbaglaito
    usando mysql-connector-java-5.1.6-bin.jar non mi da l'errore ma l'applicazione si pianta

    ora vedo di capire come mai...

    grazie, se hai altri suggerimenti.. ben accetti
    posta errori se ci sono e codice se puoi/vuoi
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    6
    Ecco qua il codice della classe:
    (per vedere dove si bloccava ho inserito un po' di false stringhe, non fateci caso...)
    codice:
    package applicazione1;
    
    /*
     * Classe dedicata alla gestione del Database.
     * Gestisce l'apertura e la chiusura della connessione col Database
     * Fornisce i metodi per l'esecuzione delle query sul Database
     */
    import java.sql.*;
    import java.util.Vector;
    import java.security.*;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    public class DBConnect {
       private String nomeDB;       // Nome del Database a cui connettersi
       private String nomeUtente;   // Nome utente utilizzato per la connessione al Database
       private String pwdUtente;    // Password usata per la connessione al Database
       private String errore;       // Raccoglie informazioni riguardo l'ultima eccezione sollevata
       private Connection db;       // La connessione col Database
       private String HostDB;      //stringa dove risiede il db
       private boolean connesso;    // Flag che indica se la connessione è attiva o meno
       private String StringaConn = "";
       public DBConnect(String nomeDB){ 
           //this(nomeDB, "", ""); 
           this.nomeDB = nomeDB;
       }
    
       public DBConnect(String nomeDB, String nomeUtente, String pwdUtente, String HostDB) {
          this.nomeDB = nomeDB;
          this.nomeUtente = nomeUtente;
          this.pwdUtente = pwdUtente;
          this.HostDB = HostDB;
          connesso = false;
          errore = "";
       }
    
       // Apre la connessione con il Database
       public boolean connetti() {
          connesso = false;
          try {
                StringaConn ="forse";
             // Carico il driver JDBC per la connessione con il database MySQL
                
             Class.forName("com.mysql.jdbc.Driver", true, this.getClass().getClassLoader());
             StringaConn="Ok1";
             // Controllo che il nome del Database non sia nulla
             if (!nomeDB.equals("")) {
                StringaConn = "OK2";
                // Controllo se il nome utente va usato o meno per la connessione
                if (nomeUtente.equals("")) {
                    //StringaConn="jdbc:mysql://192.168.25.76:3306/ping";
                   // La connessione non richiede nome utente e password
                    StringaConn = "jdbc:mysql://"+ HostDB +"/" + nomeDB;
                   db = DriverManager.getConnection(StringaConn);
                } else {
    
                   // La connessione richiede nome utente, controllo se necessita anche della password
                   if (pwdUtente.equals("")) {
    
                      // La connessione non necessita di password
                       StringaConn ="jdbc:mysql://"+ HostDB +"/" + nomeDB + "?user=" + nomeUtente;
                      db = DriverManager.getConnection(StringaConn);
                   } else {
    
                      // La connessione necessita della password
                       StringaConn = "jdbc:mysql://"+ HostDB +"/" + nomeDB + "?user=" + nomeUtente + "&password=" + pwdUtente;
                      db = DriverManager.getConnection(StringaConn);
                   }
                }
    
                // La connessione è avvenuta con successo
                connesso = true;
             } else {
                System.out.println("Manca il nome del database!!");
                System.out.println("Scrivere il nome del database da utilizzare all'interno del file \"config.xml\"");
                System.exit(0);
             }
          } catch (Exception e) { errore = e.getMessage(); }
          return connesso;
       }
    
       // Esegue una query di selezione dati sul Database
       // query: una stringa che rappresenta un'istruzione SQL di tipo SELECT da eseguire
       // colonne: il numero di colonne di cui sarà composta la tupla del risultato
       // ritorna un Vector contenente tutte le tuple del risultato
       public Vector eseguiQuery(String query) {
          Vector v = null;
          String [] record;
          int colonne = 0;
          try {
             Statement stmt = db.createStatement();     // Creo lo Statement per l'esecuzione della query
             ResultSet rs = stmt.executeQuery(query);   // Ottengo il ResultSet dell'esecuzione della query
             v = new Vector();
             ResultSetMetaData rsmd = rs.getMetaData();
             colonne = rsmd.getColumnCount();
    
             while(rs.next()) {   // Creo il vettore risultato scorrendo tutto il ResultSet
                record = new String[colonne];
                for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
                v.add( (String[]) record.clone() );
             }
             rs.close();     // Chiudo il ResultSet
             stmt.close();   // Chiudo lo Statement
          } catch (Exception e) { e.printStackTrace();  errore = e.getMessage(); }
    
          return v;
       }
    
       // Esegue una query di aggiornamento sul Database
       // query: una stringa che rappresenta un'istuzione SQL di tipo UPDATE da eseguire
       // ritorna TRUE se l'esecuzione è adata a buon fine, FALSE se c'è stata un'eccezione
       public boolean eseguiAggiornamento(String query) {
          int numero = 0;
          boolean risultato = false;
          try {
             Statement stmt = db.createStatement();
             numero = stmt.executeUpdate(query);
             risultato = true;
             stmt.close();
          } catch (Exception e) {
             e.printStackTrace();
             errore = e.getMessage();
             risultato = false;
          }
          return risultato;
       }
    
       // Chiude la connessione con il Database
       public void disconnetti() {
          try {
             db.close();
             connesso = false;
          } catch (Exception e) { e.printStackTrace(); }
       }
    
       public boolean isConnesso() { return connesso; }   // Ritorna TRUE se la connessione con il Database è attiva
       public String getErrore() { return errore; }       // Ritorna il messaggio d'errore dell'ultima eccezione sollevata
       public String GetConn () {
         
          return StringaConn + " " + nomeDB + " " + nomeUtente+ " " + pwdUtente + " " + HostDB + " " + System.getProperty("java.class.path");}
    }
    e dall'applicazione la chiamo così:
    codice:
     DBConnect db1 = new DBConnect("db","user","password","192.168.25.76:3306");
        if ( !db1.connetti() ) {
       TextArea1.append ("Errore durante la connessione.\r\n" + db1.GetConn() + "\r\n");
       TextArea1.append( db1.getErrore() );
       }else
       {
            TextArea1.append ("OK");   
       }
    L'output lo sta elaborando... ormai da 15 minuti, aspetto ancora un po' e poi vi aggiorno...
    grazie!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    6
    ecco l'output dopo 20 minuti di elaborazione:
    codice:
    Errore durante la connessione.
    jdbc:mysql://192.168.25.76:3306/db?user=user&password=password db user password 192.168.25.76:3306 C:\Programmi\NetBeans 6.1\java2\modules\ext\appframework-1.0.3.jar;C:\Programmi\NetBeans 6.1\java2\modules\ext\swing-worker-1.1.jar;C:\Programmi\NetBeans 6.1\java2\modules\ext\toplink\toplink-essentials.jar;C:\Programmi\NetBeans 6.1\java2\modules\ext\toplink\toplink-essentials-agent.jar;C:\Documents and Settings\user\Documenti\NetBeansProjects\Applicazione1\build\classes;C:\Documents and Settings\user\Documenti\NetBeansProjects\Applicazione1\mysql-connector-java-5.1.6\mysql-connector-java-5.1.6-bin.jar
    Communications link failure
    
    Last packet sent to the server was 15 ms ago.

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.