2013-04-01 17 views
11
  1. Pobrałem mysql-connector-java-5.1.24-bin.jar
  2. Stworzyłem folder lib w moim projekcie i umieścić słoik tam.
  3. właściwości projektu-> ścieżka kompilacji-> dodaj JAR i zaznacz powyższy JAR.
  4. wciąż otrzymuję java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

Używam mysql 5.5 kodu:Jak dodać sterownik mysql JDBC do projektu 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); 
     }  
    } 
} 

Jeśli dodać Class.forName("com.mysql.jdbc.Driver"); przed Connection connection = DriverManager.getConnection(mySqlUrl, userInfo); mam java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

+0

Jaka jest twoja wersja MySQL? –

+1

Być może brakuje też ":" po mysql: jdbc: mysql: // localhost: 3306/ –

+0

Możesz również spróbować: 'DriverManager.registerDriver (new com.mysql.jdbc.Driver());' before getting get połączenie. – niculare

Odpowiedz

10

Spróbuj wstawić to:

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

przed uzyskaniem połączenia JDBC.

+0

Rozwiązał on problemy z zależnościami, które otrzymałem za pomocą testu sbt. DriverManager nie mógł samodzielnie zlokalizować 'org.postgresql.Driver'. Ta linia pomogła naprawić mój zestaw testów uruchomionych przy użyciu 'sbt test'' – Kruser

0

nie został załadowany do pamięci sterownika . użycie tego podążając init()

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

Ponadto, brakowało dwukropek (:) w adresie URL, użyj tego

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

1: Pobrałem mysql-connector-java-5.1 .24-bin.jar

OK.


2: Stworzyłem folder lib mojego projektu i umieścić słoik tam.

Nieprawidłowy. Musisz upuścić JAR w folderze /WEB-INF/lib. Nie musisz tworzyć żadnych dodatkowych folderów.


3: Właściwości projektowego> budowy Path-> dodać słoika i wybrany JAR powyżej.

Niepotrzebne. Cofnij wszystko, aby uniknąć możliwych konfliktów.


4: I jeszcze dostać java.sql.SQLException: Brak odpowiedniego sterownika znalezionych dla jdbc: mysql // localhost: 3306/mysql

Wyjątek ten może mieć 2 przyczyny:

  1. Sterownik JDBC nie znajduje się w ścieżce klasy środowiska wykonawczego. Należy to rozwiązać, wykonując 2) właściwą drogę.
  2. Adres URL JDBC nie jest rozpoznawany przez żaden z załadowanych sterowników JDBC. Rzeczywiście, adres URL JDBC jest nieprawidłowy, powinien być inny, zgodnie z MySQL JDBC driver documentation, pomiędzy schematem a hostem.

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

Zrobiłem wszystko, co napisałeś. Wciąż ten sam problem :-(To musi być coś super prostego, którego mi brakuje –

+0

Oczyść, przebuduj, ponownie wdróż i uruchom ponownie. Jeśli to nie pomoże, to dobrze, może nie postępujesz dokładnie według instrukcji lub nie uruchamiasz kodu myślisz, że jesteś uruchomiony – BalusC

+0

hmmm ... Stworzyłem nowy projekt, czyściłem.Zrobiłem kroki, które napisałeś.Zobacz JAR w Java Resources/Libraries/Web App Libraries, Still, ten sam błąd. to samo z prostym projektem Java, działa dobrze.Aby korzystać z Internetu używam serwletów, ponieważ wydaje się to być cała różnica –

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

  2. Wklej go do \ Apache Software Foundation \ Tomcat 6.0 \ lib \ < --here ->

  3. Uruchom ponownie serwer z Eclipes.

  4. Sporządzono

+0

Chociaż domyślam się, że to zadziała, muszę połączyć wszystkie w jeden pakiet, dlatego wolę, aby znajdował się on wewnątrz samego folderu projektu. Chociaż, poważnie rozważamy to (wpłynie na skrypt wydania itp.) –

+0

Plik mysql-connector-java-5.1.24-bin.jar powinien znajdować się w katalogu lib serwera, w przeciwnym razie nie będzie działał. – Dipanjan

3

Możesz wkleić plik .jar kierowcy w konfiguracji Java zamiast dodawania go do każdego projektu, które tworzą. Wklej go w C: \ Program Files \ Java \ jre7 \ lib \ ext lub wszędzie tam, gdzie zainstalowałeś java.

Po tym przekonasz się, że sterownik .jar jest zapisany w folderze biblioteki twojego projektu (biblioteki systemu JRE) w IDE. Nie trzeba dodawać go powtarzalnie.

+0

Użytkownicy komputerów Mac powinni wkleić go do katalogu/Library/Java/Extensions – elarcoiris

1

jeśli otrzymujesz ten wyjątek raz za razem, to pobierz łącznik my-sql i wklej w folderze tomcat/WEB-INF/lib ... zauważ, że kilka razy folder WEB-INF nie zawiera folderu lib, w tym czasie ręcznie utwórz folder lib i wklej w tym folderze złącze mysql..definitely to zadziała.Jeśli nadal masz problem, sprawdź, czy twój jdk musi pasować do twojego systemu. tj jeśli system jest 64 bit jdk następnie musi być 64 bitowy

Powiązane problemy