Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MS Access的Jdbc Odbc连接问题_Java_Ms Access_Jdbc_Odbc_Database Connection - Fatal编程技术网

Java MS Access的Jdbc Odbc连接问题

Java MS Access的Jdbc Odbc连接问题,java,ms-access,jdbc,odbc,database-connection,Java,Ms Access,Jdbc,Odbc,Database Connection,我想用MS Access创建一个Jdbc Odbc连接。我创建了一个Ms Access文件,Jdbc Odbc连接名为Student\u test 所以我在这里分享了一张照片,在那里有人可以找到连接的名称 代码块: import java.sql.*; public class Connection_sample{ public static void main(String[] args) { try{ Class.forName("sun.jdbc.odbc.Jdbc

我想用MS Access创建一个Jdbc Odbc连接。我创建了一个Ms Access文件,Jdbc Odbc连接名为Student\u test

所以我在这里分享了一张照片,在那里有人可以找到连接的名称

代码块:

import java.sql.*;
public class Connection_sample{
public static void main(String[] args) {
    try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con = DriverManager.getConnection("jdbc:odbc:Student_test","","");
        Statement s= con.createStatement();
        s.executeQuery("select * from Student");
        ResultSet rset = s.getResultSet();
        while(rset.next()){
            System.out.println(rset.getString("ProductName"));
        }
    } catch (ClassNotFoundException | SQLException e) {
        e.printStackTrace();
    }

}
}

我正在使用JDK 8和Intellij Idea。之前我使用的是JDK13,出现了一些错误。在网上搜索之后,我知道JDK 8适合数据库连接。所以我安装了它并通过JDK 8运行

现在,如果我尝试从IntelliJ idea运行它,就会出现这些错误

"C:\Program Files\Java\jdk1.8.0_231\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ 
IDEA Community Edition 2019.2.4\lib\idea_rt.jar=50548:C:\Program Files\JetBrains\IntelliJ IDEA 
Community Edition 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\charsets.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\access- 
bridge-64.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\ext\cldrdata.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\dnsns.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\jaccess.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\jfxrt.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\localedata.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\nashorn.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\sunec.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\sunjce_provider.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\sunmscapi.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\sunpkcs11.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\ext\zipfs.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\javaws.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\jce.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\jfr.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\jfxswt.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\management- 
agent.jar;C:\Program Files\Java\jdk1.8.0_231\jre\lib\plugin.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\resources.jar;C:\Program 
Files\Java\jdk1.8.0_231\jre\lib\rt.jar;D:\tutorial\out\production\Conn1" Connection_sample
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at Connection_sample.main(Connection_sample.java:6)
进程已完成,退出代码为0

如果我试图从终端运行它,就会出现这些错误

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Connection_sample has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
修复这些错误的任何帮助都是值得注意的


提前感谢。

第一个问题是驱动程序类未加载。第二个错误是版本不匹配,比如说您在更高版本上编译,并试图在更低的java版本上运行。为了解决第一个问题,您需要一个此处所述的驱动程序;第二个问题,您需要使用相同(或更低)版本进行编译。第一个问题与JdbcOdbcDriver自Java 8以来不再可用这一事实有关。