2017-04-26 89 views
1

嗨,大家好我試圖連接與NetBeans我無法連接的SQL Server的ClassNotFoundException

public class SQLconnection { 

    /** 
    * @param args the command line arguments 
    * @throws java.lang.ClassNotFoundException 
    * @throws java.sql.SQLException 
    */ 
    public static void main(String[] args) throws ClassNotFoundException, SQLException { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     String connectionURL = "jdbc:derby://localhost:1527;databaseName=Ornek;user=sa;password=123"; 
     Connection con = DriverManager.getConnection(connectionURL); 

     System.out.println("Connect"); 
    } 

} 

SQL服務器,但我在Netbeans的錯誤,我不知道怎麼打發

異常線程「main 「拋出java.lang.ClassNotFoundException: 在sun.jdbc.odbc.JdbcOdbcDriver處 java.lang.ClassLoader.loadClass(ClassLoader.java:424) java.net.URLClassLoader.findClass(URLClassLoader.java:381)在 太陽.misc.Launcher $ AppClas sLoader.loadClass(Launcher.java:331)at java.lang.ClassLoader.loadClass(ClassLoader.java:357)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class的.java:264)在 sqlconnection.SQLconnection.main(SQLconnection.java:23)

+3

您需要將Jdbc連接器jar作爲外部文件添加到類路徑中 – Yahya

+0

爲什麼要加載JDBC-ODBC驅動程序(在Java 8中不再存在),然後嘗試連接到Derby數據庫(它甚至不使用JDBC-ODBC驅動程序),而你的問題提到Microsoft SQL Server?如果要連接到Microsoft SQL Server,則需要使用Microsoft SQL Server JDBC驅動程序,然後使用[正確的連接字符串](https://docs.microsoft.com/zh-cn/sql/connect/jdbc /連接到SQL服務器與 - 的-JDBC驅動器)。 –

回答

1

你需要找到你的驅動程序.jar並把它添加到你的classpath。

How to setup classpath in Netbeans?

好像在Java中8去除JDBC-ODBC橋,我可以爲您找到最好的事情是在這個環節中回答兩個發現黑客攻擊的解決方案: Removal of JDBC ODBC bridge in java 8

作爲Oracle曾表示這裏:

http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.html

「Oracle建議您使用您的DAT的供應商提供的JDBC驅動程序而不是JDBC-ODBC Bridge「。

+0

我是那麼做,但它給出了相同的錯誤 –

+0

我已經更新了答案 – failedProgrammer

-2

當您嘗試使用JDBC從Java連接到數據庫並且JDBC ODBC橋驅動程序在類路徑中不可用時,會出現java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver錯誤。

您需要在classpath中提供驅動程序jar。

+0

你可以添加一個代碼示例來解釋如何做到這一點? –