0

I want to create a Jdbc Odbc connection with MS Access. I created a Ms Access file and the Jdbc Odbc connection name is Student_test. Connection Picture

So Here I shared the picture where someone can find the name of the connection.

The code block:

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();
    }

}

}

I am using JDK 8 and Intellij Idea. Previously I was using JDK 13 and got some error. Then after searching on the web, I came to know that JDK 8 is good for the database connection. So I installed it and run through JDK 8.

Now I got these errors If I try to run it from 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)

Process finished with exit code 0

I got these errors if I try to run it from terminal

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)

Any help to fix those errors appreciable.

Thank you in advance.

Encipher
  • 1,370
  • 1
  • 14
  • 31
  • The first issue comes as the driver class is not loaded. – zain Nov 05 '19 at 17:26
  • The second error comes when you have a version mismatch, say you compiled on a higher version and are trying to run on a lower java version. For resolving first you need a driver as documented here https://stackoverflow.com/questions/45300178/how-to-connect-java-to-ms-access-database and for second you need to use the same (or lower) version for compiling – zain Nov 05 '19 at 18:50
  • The first issue has to do with the fact that the JdbcOdbcDriver is no longer available since Java 8. – Mark Rotteveel Nov 06 '19 at 07:43

0 Answers0