2015-01-14 62 views
1

我正在學習java,我們的老師(使用jdk 7,netbeans)向我們展示了連接到Microsoft SQL Server 2008的方式。現在我也這樣做了,但我有一個錯誤:從java連接到微軟sql 2008 r2 8

java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver 

我GOOGLE了它的直4小時,我終於找到了問題:我使用jdk8,現在人們說jdk8刪除JDBC驅動程序,你必須從這個網站下載:

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774

我這樣做,但我不知道如何 運行。該怎麼做,我完全空白。有人可以告訴我如何連接到數據庫。

即使這是完全可以做到的,沒有任何問題在這裏: enter image description here

簡單的代碼只是爲了測試連接:

package sqlexamples; 

import java.sql.*; 

public class Example { 

    public static void main(String[] args) { 

     try{ 
      Class.forName("jdbc.odbc.JdbcOdbcDriver"); 
      System.out.println("Driver Successfully Loaded!"); 
      Connection connect = DriverManager.getConnection("jdbc:odbc:library;user=maisam;password=db123"); 
      System.out.println("Connected to Database!"); 
      PreparedStatement state = connect.prepareStatement("Select * from mytable"); 
      System.out.println("Query Executed Successfully!"); 
      connect.close(); 
      System.out.println("Database Closed!"); 
     } 
     catch(ClassNotFoundException ex){ 
      System.out.println("Error: Driver Class not found."); 
      ex.printStackTrace(); 
     } 
     catch(SQLException sqlex){ 
      System.out.println("Error: SQL Error"); 
      sqlex.printStackTrace(); 

     } 
    } 
} 

Error: Driver Class not found. java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:260) at sqlexamples.Example.main(Example.java:11) BUILD SUCCESSFUL (total time: 0 seconds)

編輯:我只是想着切換回JDK7直到我的[Library System Management]項目完成。

+0

HTTP: //stackoverflow.com/search?q=%5Bjava-8%5D+odbc – Holger

+0

@Holger先生,我搜索了很久以前,他們是爲Microsoft Access,甚至我試圖找到邏輯和變化,不能得到它。 – ramb0

+0

@Holger好吧,先生,我明白了,但爲什麼他們讓這件事情變得如此複雜,以前的版本很好 – ramb0

回答

3

people are saying that jdk8 removed jdbc driver

這是不正確的。這是這是從Java 8.刪除因此,你不能使用ODBC驅動程序從Java 8連接到SQL Server的JDBC-ODBC橋相反,你需要使用JDBC驅動程序像這樣的:

Microsoft JDBC Driver for SQL Server

(在你的問題的下載鏈接也是微軟的JDBC驅動程序的SQL Server的問題是,你是以下的說明是針對ODBC,JDBC不使用JDBC驅動程序中的說明來代替。)

+0

先生我已經下載它,4.1但我不知道如何連接它,我使用netbeans – ramb0