简体   繁体   English

当我尝试连接 jdbc、odbc 时出现 ClassNotFoundException

[英]ClassNotFoundException when I'm trying to connect jdbc, odbc

I'm trying to connect to MySQL using ODBC, JDBC, and I have trouble with ClassNotFoundException error.我正在尝试使用 ODBC、JDBC 连接到 MySQL,但遇到 ClassNotFoundException 错误。

Exception in thread "main" java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at dbconnect.jdbcconnect.main(jdbcconnect.java:16)

I added jars to JavaBuildPath like this我像这样将 jar 添加到 JavaBuildPath 在此处输入图像描述

my code我的代码

public static void main(String[] args) throws SQLException, ClassNotFoundException {
        // TODO Auto-generated method stub
        //Connection conn = null;
    
        String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url = "jdbc:odbc:Gtable";
        Class.forName(driver); 
        Connection conn = DriverManager.getConnection(url, "root", "")    
    //  Statement s=conn.createStatement();
        
        //s.executeQuery("Select")
    }

}

How can I resolve this?我该如何解决这个问题?

java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver 异常出现在 Java 8 中,因为它从 JDK 和 JRE 中删除了 JDBC ODBC 桥驱动程序类“sun.jdbc.odbc.jdbcodbcdriver”

Reading this post on Javarevisited How to solve java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver in Java 8 may fully and correctly address your problem.阅读 Javarevisited How to solve java.lang.classnotfoundexception sun.jdbc.odbc.jdbcodbcdriver in Java 8上的这篇文章可能会完全正确地解决您的问题。

JDBC-ODBC bridge driver has been marked as "don't use" for the last decade or so.在过去十年左右的时间里,JDBC-ODBC 桥驱动程序已被标记为“不要使用”。 It was present in Java 7 release but removed from Java 8 release onward.它存在于 Java 7 版本中,但从 Java 8 版本开始被删除。 It might also not be available on non-Windows JVMs, as it makes no sense to have an ODBC-JDBC bridge driver on platforms on which ODBC does not exist eg Linux or Mac OS它也可能在非 Windows JVM 上不可用,因为在不存在 ODBC 的平台(例如 Linux 或 Mac OS)上拥有 ODBC-JDBC 桥驱动程序是没有意义的

Since this driver has been removed from Java 8 you have to use different strategies to access as reported Manipulating an Access database from Java without ODBC such as UCanAccess if you happen to use an Access DB.由于此驱动程序已从 Java 8 中删除,因此如果您碰巧使用Access DB,则必须使用不同的策略进行访问

Just remember that sun.jdbc.odbc.JdbcOdbcDriver is a standard class from JDK API and it doesn't come with any external JAR like other vendor database's JDBC drivers eg JDBC driver to connect Oracle database comes on ojdbc6.jar and MySQL driver comes in mysql-connector-java-5.1.23-bin.jar.请记住 sun.jdbc.odbc.JdbcOdbcDriver 是来自 JDK API 的标准类,它不像其他供应商数据库的 JDBC 驱动程序那样带有任何外部 JAR,例如连接 Oracle 数据库的 JDBC 驱动程序来自 ojdbc6.jar 和 MySQL 驱动程序mysql-connector-java-5.1.23-bin.jar。 JdbcOdbcDriver class is present in rt.jar, which is always included in Classpath, as this JAR file is part of the JRE. JdbcOdbcDriver 类存在于 rt.jar 中,该类始终包含在 Classpath 中,因为此 JAR 文件是 JRE 的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 尝试通过Java 8中的JDBC-ODBC连接到.accdb文件时,出现ClassNotFoundException - ClassNotFoundException when trying to connect to .accdb file via JDBC-ODBC in Java 8 我正在尝试通过Mac OS X上的JDBC连接mysql - I'm trying to connect mysql through JDBC on mac osx ClassNotFoundException jdbc-odbc连接 - ClassNotFoundException jdbc-odbc connection 如何为此JDBC添加密码:尝试连接到MS Access数据库的ODBC连接字符串 - How can I add a password to this JDBC:ODBC connection string that is trying to connect to an MS Access database 尝试与mysql dbms连接时出现ClassNotFoundException? - ClassNotFoundException when trying to connect with mysql dbms? 尝试使用Vaadin Framework查找JDBC驱动程序时抛出ClassNotFoundException - ClassNotFoundException thrown when trying to find jdbc driver using Vaadin Framework java.lang.ClassNotFoundException:使用glassfish时的sun.jdbc.odbc.JdbcOdbcDriver - java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver when using glassfish 当我尝试与RMI服务器连接时出现NotBoundException - NotBoundException when I'm trying to connect with RMI server 连接到 JDBC 时出现 java.lang.ExceptionInInitializerError - I'm getting java.lang.ExceptionInInitializerError when I connect to JDBC 尝试通过 scala/spark 应用程序连接到 postgres 数据库时出现 ClassNotFoundException - ClassNotFoundException when trying to connect to a postgres database through a scala/spark application
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM