Newsgroup: it.comp.java
Titolo: Come connettersi ad un database mysql con Jbuilder

Salve ragazzi ho jbuilder e mysql + apache con mysql funzionante,
vorrei sapere, dopo aver fatto la procedura su jbuilder provo a
collegarmi ad un database mysql ma mi dice che è impossibile
connettersi al database: come mai ? Vorrei sapere come procedere per
scoprire dove è l'errore ??? Ecco il mio codice:
[Java]
package conn;
import java.sql.*;
public class connetti {
        ResultSet risultato = null;
        Statement statement=null;
        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
  Connection db=null;       // La connessione col Database
   private boolean connesso;    // Flag che indica se la connessione è
attiva o meno
   public connetti(String nomeDB) { this(nomeDB, "", ""); }
   public connetti(String nomeDB, String nomeUtente, String pwdUtente)
{
      this.nomeDB = nomeDB;
      this.nomeUtente = nomeUtente;
      this.pwdUtente = pwdUtente;
      connesso = false;
      errore = "";
   }
   // Apre la connessione con il Database
   public boolean connetti() {
      connesso = false;
      try {
         // Carico il driver JDBC per la connessione con il database
MySQL
         Class.forName("com.mysql.jdbc.Driver");
         // Controllo che il nome del Database non sia nulla
         if (!nomeDB.equals("")) {
            // Controllo se il nome utente va usato o meno per la
connessione
            if (nomeUtente.equals("")) {
               // La connessione non richiede nome utente e password
               this.db =
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB);
            } else {
               // La connessione richiede nome utente, controllo se
necessita anche della password
               if (pwdUtente.equals("")) {
                  // La connessione non necessita di password
                  db =
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB +
"?user=" + nomeUtente);
               } else {
                  // La connessione necessita della password
                  db =
DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB +
"?user=" + nomeUtente + "&password=" + pwdUtente);
               }
            }
            // 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;
   }
   public void faiQuery(String query){
           try{
           statement = db.createStatement();
            risultato =statement.executeQuery(query);
            while (risultato.next()){
            System.out.println(risultato.getInt(1));
            System.out.println(risultato.getString(2));
            System.out.println(risultato.getString(3));
            System.out.println(risultato.getString(4));
            System.out.println(risultato.getInt(5));
            }
           }
           catch(SQLException sqldue){
           sqldue.printStackTrace();}
   }
public static void main(String [] args) {
        String query="select * from prodotto";
        connetti a=new connetti("asta","root","");
        if(a.connetti()){
                System.out.println("Connessione al database riuscita");
        a.faiQuery(query);
        }
        else{
                System.out.println("Connessione al database non
riuscita");
                System.out.println(a.errore);
}
}
}
[/Java]

       } catch (Exception e) { errore = e.getMessage(); }
Perché non rilanciare l'eccezione? perché catturi tutto e non fai niente?
Dire che non si connette è troppo generico. Posta la stack trace (le
prime righe) dell'eccezione che ovviamente ed erroneamente catturi e
butti via.

Questo è quello che mi dice jbuider :
Connessione al database non riuscita
com.mysql.jdbc.Driver
Volevo dirti che con eclipse copiando il file .jar di jconnector
nell'applicazione dove sfrutta la connessione al db si connette e va
tutto bene come mai con jbuilder non funziona ??? VOlevo chiederti ho
sia eclipse che jbuilder  ma jbuilder 2006 su questo computer è molto
lento. Quali differenze sostanziali ci sono tra jbuilder ed eclipse ???

Ecco cosa mi risponde Jbuilder:
Connessione al database non riuscita
com.mysql.jdbc.Driver
Ho notato che con eclipse si connette al database, poiche copio il file
.jar di jconnector nella directory dell'applicazione. Siccome ho sia
jbuider(Che và molto lento sul mio comp) che eclipse, cosa mi consigli
???. Anche eclipse permette di fare servlett e jsp. Ciao e grazie

 
Probabilmente non trova la classe del Driver.
Mettere il jar nella stessa directory non serve a niente, devi inserirlo
nel classpath. (-cp)
Consiglio eclipse.