我正在Eclipse EE
IDE的Java中的一个项目中,我必须查询一个.accdb文件。问题是当我尝试加载驱动程序然后连接到数据库时,它给了我一个异常错误。
我的代码:
try{
String filePath = "//myfilepathtomydb/BLABLA/example.accdb"
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + filePath;
Connection database = DriverManager.getConnection(url);
System.out.println("Connection sucessful");
} catch (ClassNotFoundException e){
System.err.println("Got an exception");
System.err.println(e.getMessage());
e.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
// TODO: handle exception
}
例外:
Got an exception
sun.jdbc.odbc.JdbcOdbcDriver
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at project.Main.main(Main.java:15)
我在64位Windows中使用32位Eclipse,从我所读到的连接到数据库的方式中,64位JRE不支持这种方式,因此我使用了选择的32位JRE(
jdk1.8.0_05),在我的运行配置中,我在VM中使用了“ -d32”参数。
显然,它JdbcOdbcDriver应该在 rt.jar中
,但是当我寻找它时,我找不到以下软件包:sun.jdbc.odbc.JdbcOdbcDriver。
如果有人可以阐明我的问题,我说的任何错误或愚蠢的事情也可以纠正我,我将不胜感激。