在用java制作Jar文件后,我正在连接数据库,但是;ClassNotFoundException“;制作jar文件后,下面是代码

在用java制作Jar文件后,我正在连接数据库,但是;ClassNotFoundException“;制作jar文件后,下面是代码,java,ms-access,jdbc,jdbc-odbc,Java,Ms Access,Jdbc,Jdbc Odbc,下面是我试图访问数据库时的建议代码 它显示制作jar文件后的错误 File f = new File("E:\\DB\\**\\***.mdb"); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); JOptionPane.showMessageDialog(null, "Driver loded succesfully");

下面是我试图访问数据库时的建议代码 它显示制作jar文件后的错误

   File f = new File("E:\\DB\\**\\***.mdb");
                    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
                    JOptionPane.showMessageDialog(null, "Driver loded succesfully");
                    String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+f.getAbsolutePath();
                    connection = DriverManager.getConnection( database ,"",""); 

                    JOptionPane.showMessageDialog(null, "connection is"+connection);

                }catch(Exception e){
                    e.printStackTrace();
                    JOptionPane.showMessageDialog(null,"erroris"+ e);;
                }

ClassNotFoundException
意味着您的程序找不到
odbc
驱动程序类,请尝试在路径中包含jar文件。

这是唯一的java兼容性问题。ODBC连接在新版本的Java中不可用。所以它在我制作的旧版本上工作。感谢

@戈德·汤普森(Gord Thompson)

你不觉得在这里包含错误可能是个好主意吗?这段代码中有很多地方可能出错。您的类路径中有ODBC驱动程序吗?这是您正在使用的真实文件名吗?让您的应用程序显示由
System.getProperty(“java.version”)
返回的结果。它说什么?是的,我使用的是真实的文件名显示
System.getProperty(“java.version”)
的目的不是解决应用程序的问题,而是在应用程序失败时显示正在运行的java版本。(提示:如果您的应用程序在Java 8下运行,那么JDBC-ODBC桥不可用,您的代码根本无法工作。)您确定您的JAR文件在与您的应用程序在Eclipse中运行时相同的Java版本下运行吗?Eclipse可以在Java 7下运行代码(如果这是Eclipse设置中指定的JRE),而JAR文件可以在Java 8下运行(如果这是在操作系统中注册的默认JRE)