从java 8连接到microsoft sql 2008 r2

时间:2015-01-14 20:39:59

标签: sql-server sql-server-2008 netbeans jdbc java-8

我正在学习java,我们的老师(使用jdk 7,netbeans)向我们展示了连接到Microsoft SQL Server 2008的方法。现在我也这样做,但是我有一个错误:

java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver

我直接搜索了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();

        }
    }
}
  

错误:找不到驱动程序类。抛出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 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)   建立成功(总时间:0秒)

编辑:我只是想切换回JDK7,直到我的[图书馆系统管理]项目完成。

1 个答案:

答案 0 :(得分:3)

  

人们说jdk8删除了jdbc驱动程序

事实并非如此。从Java 8中删除了JDBC-ODBC Bridge。因此,您无法使用ODBC驱动程序从Java 8连接到SQL Server。相反,您需要使用类似这样的JDBC驱动程序:

Microsoft JDBC Driver for SQL Server

(您问题中的下载链接也适用于Microsoft的SQL Server JDBC驱动程序。您的问题是您所遵循的说明适用于ODBC,而不是JDBC。请使用JDBC驱动程序的说明。)