2013-04-01 53 views
11
  1. Ho scaricato il mysql-connector-java-5.1.24-bin.jar
  2. ho creato una cartella lib nel mio progetto e mettere il vaso in là.
  3. proprietà di project-> build path-> aggiungi JAR e seleziona il JAR in alto.
  4. ho ancora java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

Sto usando MySQL 5.5 Il codice:Come aggiungere il driver mysql JDBC a un progetto Eclipse?

package DBTest; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.sql.*; 
import java.util.*; 

/** 
* Servlet implementation class TenUsers 
*/ 
@WebServlet("/TenUsers") 
public class TenUsers extends HttpServlet { 
    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     PrintWriter out = response.getWriter(); 
     String mySqlUrl = "jdbc:mysql://localhost:3306/mysql"; 

     Properties userInfo = new Properties(); 
     userInfo.put("user", "root"); 
     userInfo.put("password", "SabababArba"); 
     try{ 
      Connection connection = DriverManager.getConnection(mySqlUrl, userInfo); 
     }catch(Exception e) { 
      out.println(e); 
     }  
    } 
} 

Se aggiungo Class.forName("com.mysql.jdbc.Driver"); prima Connection connection = DriverManager.getConnection(mySqlUrl, userInfo); ottengo conducente java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

+0

Qual è la tua versione di MySQL? –

+1

Potrebbe mancare un ':' anche dopo mysql: jdbc: mysql: // localhost: 3306/ –

+0

Puoi provare anche questo: 'DriverManager.registerDriver (new com.mysql.jdbc.Driver());' prima di ottenere la connessione. – niculare

risposta

10

tenta di inserire questo:

DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 

prima di ottenere la connessione JDBC.

+0

Ha risolto i problemi di dipendenza che ho ottenuto usando il test di sbt. DriverManager non è riuscito a localizzare il file org.postgresql.Driver da solo. Questa linea ha aiutato a sistemare la mia suite di test usando 'sbt test' – Kruser

0

non si è caricato in memoria . uso questo segue in init()

Class.forName("com.mysql.jdbc.Driver"); 

Inoltre, ti sei perso due punti (:) nella URL, utilizzare questo

String mySqlUrl = "jdbc:mysql://localhost:3306/mysql"; 
4

1: Ho scaricato il mysql-connector-java-5.1 .24-bin.jar

OK.


2: ho creato una cartella lib nel mio progetto e mettere il vaso in là.

Sbagliato. È necessario rilasciare JAR nella cartella /WEB-INF/lib. Non è necessario creare cartelle aggiuntive.


3: proprietà del Progetto-> costruire percorso-> aggiungere JAR e selezionato il JAR sopra.

Non necessario. Annullare tutto per evitare possibili conflitti.


4: ho ancora java.sql.SQLException: Nessun driver adatto trovato per JDBC: mysql // localhost: 3306/mysql

Questa eccezione può avere 2 cause:

  1. Il driver JDBC non è in classpath di runtime. Questo deve essere risolto facendo 2) nel modo giusto.
  2. L'URL JDBC non viene riconosciuto da nessuno dei driver JDBC caricati. In effetti, l'URL JDBC è sbagliato, ci dovrebbe essere come per il MySQL JDBC driver documentation un altro punto tra lo schema e l'host.

    jdbc:mysql://localhost:3306/mysql 
    
+0

Ho fatto tutto ciò che hai scritto. Ancora, lo stesso numero :-(Deve essere qualcosa di super semplice Mi manca –

+0

Pulire, ricostruire, ridistribuire e riavviare. Se ciò non aiuta, allora, forse non hai seguito attentamente le istruzioni o non stai eseguendo il codice – BalusC

+0

hmmm ... Ho creato un nuovo progetto, pulito Ho fatto i passi che hai scritto.Vedo il JAR nelle librerie Java Resources/Libraries/Web App, Still, lo stesso errore. lo stesso con un semplice progetto Java, funziona benissimo. Per il web sto usando servlet, perché questa sembra essere la differenza –

2
  1. copia mysql-connector-java-5.1.24-bin.jar

  2. Incollare in \ Apache Software Foundation \ Tomcat 6.0 \ lib \ < --here ->

  3. Riavvia il server da Eclipes.

  4. Fatto

+0

Mentre penso che funzionerà, ho bisogno di unire tutto in un unico pacchetto, per questo preferisco che si trovi all'interno della cartella del progetto. Anche se, stiamo seriamente considerando questo (interesserà lo script di rilascio, ecc.) –

+0

Il file mysql-connector-java-5.1.24-bin.jar dovrebbe essere nella directory lib del server, altrimenti non funzionerà. – Dipanjan

3

è possibile incollare il file .jar del driver nella configurazione di Java invece di aggiungere a ogni progetto che si crea. Incollalo in C: \ Programmi \ Java \ jre7 \ lib \ ext o ovunque tu abbia installato java.

Dopo questo si scoprirà che il driver .jar è incluso nella cartella della libreria del progetto creato (libreria di sistema JRE) nell'IDE. Non c'è bisogno di aggiungerlo ripetutamente.

+0

Per gli utenti Mac, è necessario incollarlo in/Library/Java/Extensions – elarcoiris

1

se ottieni questa eccezione ancora e ancora, quindi scarica il connettore my-sql e incolla nella cartella tomcat/WEB-INF/lib ... nota che alcune volte la cartella WEB-INF non contiene la cartella lib, in quel momento crea manualmente la cartella lib e incolla il connettore mysql in quella cartella .. decisamente funzionerà. Se hai ancora problemi, controlla che il tuo jdk corrisponda al tuo sistema. cioè se il sistema è a 64 bit quindi JDK deve essere a 64 bit

Problemi correlati