Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Connessione a DB MySql

  1. #1
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160

    Connessione a DB MySql

    Ciao a tutti, ho scaricato i driver di connessione mysql-connector-java-5.1.13.zip e ho importato il jar all'interno del mio progetto, quando vado a fare Class.forName(.......); sapete dirmi come devo richiamare il driver?!?
    grazie ciaoooo
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

  2. #2
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160
    mi sto appoggiando a questo metodo

    codice:
     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
                   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;
       }
    nomeDB, user e password li passo al costruttore della classe Database contenente questo metodo.

    Il risultato è Unknow database 'blog' ---> dove blog è il nome che passo al costruttore e ovviamente ho creato un nuovo DB di nome blog con MySQL Administrator...sapreste aiutarmi!?
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Il codice che hai usato (tratto dalla mia vecchia pillola) prevede queste due cose:

    1) Che il server MySQL sia in funzione sulla stessa macchina da cui lanci l'applicazione (altrimenti devi modificare la URLString di connessione mettendo al posto di "localhost" l'indirizzo della macchina dove gira MySQL)

    2) Che l'utente con cui effettui la connessione abbia i diritti sul DB a cui intendi collegarti.

    Il messaggio che ottieni indica che non esiste un DB chiamato "blog". Credo che questo messaggio possa essere visualizzato anche se il DB esiste, ma l'utente non ha diritto di usarlo.

    Modifica anche quel vecchio codice aggiungendo la stampa del trace delle eccezioni. Può aiutare molto a capire un eventuale altro problema che non viene visualizzato:

    codice:
    } catch (Exception e) {
       e.printStackTrace();
       ...
    }

    Ciao.
    "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

  4. #4
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160
    Grandissimo, non avevo il permesso per accedere al DB...ti ringrazio tantissimo e mi scuso per averti "scippato" l'utilissima classe da te creata.
    ciaooooo
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Lomio
    ti ringrazio tantissimo e mi scuso per averti "scippato" l'utilissima classe da te creata.
    ciaooooo
    L'ho messa lì apposta perchè potesse tornare utile... solo che quella pillola è piuttosto vecchia e la classe stessa andrebbe riveduta con alcuni accorgimenti e migliorie.... manca purtroppo il tempo per farlo.


    Ciao.
    "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

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.