【问题标题】:Connecting to microsoft sql 2008 r2 from java 8从 java 8 连接到 microsoft sql 2008 r2
【发布时间】:2015-03-13 04:06:53
【问题描述】:

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

java.lang.ClassNotFoundException: jdbc.odbc.JdbcOdbcDriver

我google了4个小时,终于找到了问题:我用的是jdk8,现在有人说jdk8去掉了JDBC驱动,你必须从这个网站下载:

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

我做了这个,但我不知道如何运行它。怎么办,我完全空白。谁能告诉我如何连接到数据库。

即使这是完美的完成,这里没有问题:

测试连接的简单代码:

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 在 java.net.URLClassLoader$1.run(URLClassLoader.java:372) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:361) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:360) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:260) 在 sqlexamples.Example.main(Example.java:11) 构建成功(总时间:0 秒)

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

【问题讨论】:

  • @Holger先生,我很久以前就搜索过这些,它们是用于Microsoft Access的,即使我试图找到逻辑和变化,也无法得到它。
  • @Holger 好的先生,我明白了,但是为什么他们把这个东西弄得这么复杂,在以前的版本中很好
  • 如果您已经下载并安装了“Microsoft JDBC Drivers 4.1 and 4.0 for SQL Server”,则必须删除Class.forName("jdbc.odbc.JdbcOdbcDriver");这一行,然后将String从@开头的连接更改为987654330@ 到 this instructions 中描述的内容

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


【解决方案1】:

人们说 jdk8 删除了 jdbc 驱动

那不是真的。它是从 Java 8 中删除的 JDBC-ODBC 桥。因此,您不能使用 ODBC 驱动程序从 Java 8 连接到 SQL Server。相反,您需要使用像这样的 JDBC 驱动程序:

Microsoft JDBC Driver for SQL Server

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

【讨论】:

  • 先生,我已经下载了它,4.1,但我不知道如何连接它,我正在使用 netbeans
猜你喜欢
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多