2013-09-27 98 views
8
package sqlselection; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class Sqlselection 
    { 
     public static void main(String[] args) 
     { 
      try 
      { 
       Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 

       String userName = "sa"; 
       String password = "password"; 
       String url = "jdbc:microsoft:sqlserver://localhost:1433"+";databaseName=AdventureWorks2008R2"; 
       Connection con = DriverManager.getConnection(url, userName, password); 
       Statement s1 = con.createStatement(); 
       ResultSet rs = s1.executeQuery("SELECT TOP 1 * FROM HumanResources.Employee"); 
       String[] result = new String[20]; 
       if(rs!=null){ 
        while (rs.next()){ 
         for(int i = 0; i <result.length ;i++) 
         { 
          for(int j = 0; j <result.length;j++) 
          { 
           result[j]=rs.getString(i); 
          System.out.println(result[j]); 
         } 
         } 
        } 
       } 

       //String result = new result[20]; 

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


} 

    enter code here 

Phía trên là chương trình mẫu của tôi để kết nối với máy chủ Sql để chạy truy vấn chọn mẫu từ nhật thực.Chương trình Java để kết nối với Sql Server và chạy truy vấn mẫu Từ Eclipse

Tôi nhận được lỗi dưới đây.

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at sqlselection.Sqlselection.main(Sqlselection.java:13) 

tôi đã thêm sqljdbc.jar, sqljdbc4.jar vào thư viện. Trợ giúp để sửa lỗi này

+1

thêm tệp jar vào classpath –

Trả lời

6

Vấn đề là với Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); dòng này.Tên trình độ Class là sai

Đó là sqlserver.jdbc không jdbc.sqlserver

5

bạn quên để thêm sqlserver.jar trong eclipse thư viện bên ngoài theo quy trình để thêm các tập tin jar

  1. Nhấp chuột phải vào dự án của bạn.
  2. nhấp chuột buildpath
  3. nhấp chuột đường configure bulid
  4. nhấp chuột thêm jar bên ngoài và sau đó cung cấp cho các con đường của jar
1

Thêm sqlserver.jar Đây là link

Như tên cho thấy ClassNotFoundException trong Java là một lớp con của java.lang.Exception và Đi kèm khi Máy ảo Java cố gắng tải một lớp cụ thể và không tìm thấy lớp được yêu cầu trong classpath.

Một điểm quan trọng về ngoại lệ này là, Nó là một kiểm tra ngoại lệ và bạn cần phải cung cấp một cách rõ ràng việc xử lý ngoại lệ khi sử dụng phương pháp đó có thể là có thể ném ClassNotFoundException trong java bằng cách sử dụng khối try-catch hoặc bằng cách sử dụng ném mệnh đề.

Oracle docs

public class ClassNotFoundException 
extends ReflectiveOperationException 

Ném khi một ứng dụng cố gắng tải trong một lớp học thông qua tên chuỗi của nó sử dụng:

  • Các phương thức forName trong lớp Class.
  • Phương thức findSystemClass trong lớp ClassLoader.
  • Phương thức loadClass trong lớp ClassLoader.

nhưng không tìm thấy định nghĩa cho lớp có tên được chỉ định.

1

link có trình điều khiển cho sqlserver, tải xuống và thêm nó eclipse đường chạy của bạn.

1

Nhấp chuột phải vào dự án của bạn ---> Xây dựng đường dẫn ----> định cấu hình Đường dẫn xây dựng ----> Thư viện tab ---> Thêm jars bên ngoài ---> (Điều hướng đến vị trí bạn đã giữ sql driver jar) ---> ok

1

tải về Microsoft JDBC driver 4.0 for SQL server hỗ trợ:

012.351.
SQL Server versions: 2005, 2008, 2008 R2, and 2012. 
    JDK version: 5.0 and 6.0. 

Chạy chương trình đã tải xuống sqljdbc __. Exe. Nó sẽ giải nén các tập tin vào một thư mục được chỉ định (mặc định là Microsoft JDBC Driver 4.0 cho SQL Server). Bạn sẽ tìm thấy hai tệp jar sqljdbc.jar (cho JDBC 3.0) và sqljdbc4.jar (cho JDBC 4.0), cộng với một số tệp .dll và tệp trợ giúp HTML.

Đặt tệp sqljdbc4.jar trong đường dẫn lớp của ứng dụng nếu bạn đang sử dụng tệp JDK 4.0 hoặc sqljdbc4.1.jar nếu bạn đang sử dụng JDK 6.0 trở lên.

-2

Chỉ cần thay đổi các truy vấn như thế này:

SELECT TOP 1 * FROM [HumanResources].[Employee] 

nơi Employee là tên bảng của bạn và HumanResources là tên Schema của bạn nếu tôi không sai.

Hy vọng vấn đề của bạn sẽ được giải quyết. :)

+0

Tôi chắc rằng điều này sẽ không khắc phục được trình điều khiển jdbc ClassNotFoundException – beresfordt

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