2017-04-26 99 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

你可以添加一个代码示例来解释如何做到这一点? –