2013-04-01 49 views
11
  1. Tôi đã tải xuống mysql-connector-java-5.1.24-bin.jar
  2. Tôi đã tạo một thư mục lib trong dự án của mình và đặt bình vào đó.
  3. thuộc tính của dự án-> xây dựng đường dẫn-> thêm JAR và chọn JAR ở trên.
  4. tôi vẫn nhận được java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/mysql

Tôi đang sử dụng mysql 5,5 Mã:Làm thế nào để thêm trình điều khiển JDBC mysql vào một dự án 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); 
     }  
    } 
} 

Nếu tôi thêm Class.forName("com.mysql.jdbc.Driver"); trước Connection connection = DriverManager.getConnection(mySqlUrl, userInfo); tôi nhận được tài xế java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

+0

phiên bản MySQL của bạn là gì? –

+1

Bạn có thể bị thiếu ':' quá sau mysql: jdbc: mysql: // localhost: 3306/ –

+0

Bạn cũng có thể thử điều này: 'DriverManager.registerDriver (new com.mysql.jdbc.Driver());' trước khi nhận sự kết nối. – niculare

Trả lời

10

Cố gắng chèn này:

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

trước khi Connection JDBC.

+0

Nó giải quyết được các vấn đề phụ thuộc mà tôi đã sử dụng thử nghiệm sbt. DriverManager không thể tự định vị 'org.postgresql.Driver'. Dòng này đã giúp sửa lỗi chạy thử của tôi bằng cách sử dụng 'sbt test' – Kruser

0

bạn chưa được nạp vào bộ nhớ . sử dụng này sau trong init()

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

Ngoài ra, bạn bỏ lỡ một dấu hai chấm (:) trong url, sử dụng này

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

1: Tôi đã tải mysql-connector-java-5.1 .24-bin.jar

OK.


2: Tôi đã tạo ra một thư mục lib trong dự án của tôi và đặt jar trong đó.

Sai. Bạn cần phải thả JAR trong thư mục /WEB-INF/lib. Bạn không cần tạo bất kỳ thư mục bổ sung nào.


3: tính chất của dự án-> xây dựng path-> thêm JAR và chọn JAR trên.

Không cần thiết. Hoàn tác tất cả để tránh các xung đột có thể xảy ra.


4: Tôi vẫn nhận được java.sql.SQLException: Không lái xe phù hợp tìm thấy cho jdbc: mysql // localhost: 3306/mysql

ngoại lệ này có thể có 2 nguyên nhân:

  1. Trình điều khiển JDBC không có trong đường dẫn lớp thời gian chạy. Điều này được giải quyết bằng cách thực hiện 2) đúng cách.
  2. URL JDBC không được nhận dạng bởi bất kỳ trình điều khiển JDBC được tải nào. Thật vậy, URL JDBC là sai, nên theo MySQL JDBC driver documentation là một dấu hai chấm khác giữa lược đồ và máy chủ.

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

Tôi đã làm tất cả những gì bạn đã viết. Tuy nhiên, cùng một vấn đề :-(Phải là một cái gì đó siêu đơn giản Tôi đang thiếu –

+0

Làm sạch, xây dựng lại, triển khai lại và khởi động lại. Nếu điều đó không giúp được, thì tốt, có thể bạn không cẩn thận làm theo hướng dẫn hoặc không chạy mã bạn nghĩ rằng bạn đang chạy – BalusC

+0

hmmm ... Tôi đã tạo một dự án mới, sạch sẽ.Các bước bạn đã viết.Tôi thấy JAR trong Thư viện Tài nguyên Java/Thư viện/Ứng dụng Web, Tuy nhiên, cùng một lỗi. Cùng với một dự án Java đơn giản, nó hoạt động tốt.Đối với trang web tôi đang sử dụng servlet, vì điều này có vẻ là tất cả sự khác biệt –

2
  1. bản sao mysql-connector-java-5.1.24-bin.jar

  2. Dán nó vào \ Apache Software Foundation \ Tomcat 6.0 \ lib \ < --here ->

  3. Khởi động lại máy chủ của bạn từ Eclipes.

  4. Xong

+0

Trong khi tôi đoán nó sẽ hoạt động, tôi cần gộp tất cả vào một gói, đó là lý do tại sao tôi thích nó nằm trong thư mục dự án. Mặc dù, Chúng tôi nghiêm túc xem xét điều này (sẽ ảnh hưởng đến kịch bản phát hành vv) –

+0

Tệp mysql-connector-java-5.1.24-bin.jar phải nằm trong thư mục lib của máy chủ, nếu không nó sẽ không hoạt động. – Dipanjan

3

Bạn có thể dán file .jar của trình điều khiển trong thiết lập Java thay vì thêm nó vào từng dự án mà bạn tạo. Dán nó vào C: \ Program Files \ Java \ jre7 \ lib \ ext hoặc bất cứ nơi nào bạn đã cài đặt java.

Sau này, bạn sẽ thấy trình điều khiển .jar được nhập ngũ trong thư mục thư viện của dự án đã tạo (thư viện hệ thống JRE) trong IDE. Không cần phải thêm nó lặp đi lặp lại.

+0

Đối với người dùng Mac, bạn nên dán nó vào/Library/Java/Extensions – elarcoiris

1

nếu bạn nhận được ngoại lệ này một lần nữa và một lần nữa sau đó tải xuống kết nối-sql của tôi và dán trong thư mục tomcat/WEB-INF/lib ... lưu ý rằng một số lần thư mục WEB-INF không chứa thư mục lib, tại thời điểm đó tự tạo thư mục lib và dán kết nối mysql trong thư mục đó..chắc chắn điều này sẽ hoạt động. Nếu bạn vẫn gặp vấn đề thì hãy kiểm tra xem jdk của bạn có khớp với hệ thống của bạn hay không. tức là nếu hệ thống của bạn là 64 bit sau đó jdk phải 64 bit

Các vấn đề liên quan