2017-06-05 111 views
1

尝试使用UCanAccess使用Java打开Access数据库,但似乎无法正常工作。下面是代码:NetBeans IDE - ClassNotFoundException:net.ucanaccess.jdbc.UcanaccessDriver

import java.sql.*; 

public class DbAccess2 
{ 
public static void main(String[] args) 
{ 
    try 
    { 
    Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); 

Connection conn=DriverManager.getConnection("jdbc:ucanaccess://c:/myDB.mdb"); 
     Statement s = conn.createStatement(); 
     System.out.println("OK"); 
    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
     // System.out.print("Not OK"); 
    } 
} 
} 

这是我得到的错误:

java.lang.ClassNotFoundException: net.ucanaccess.jdbc.UcanaccessDriver 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at DbAccess2.main(DbAccess2.java:10) 
BUILD SUCCESSFUL (total time: 0 seconds) 

这里是我的文件看起来像(NetBeans的)

screenshot.png

+0

您有UCanAccess jar文件及其相关性位于“库”下名为'lib'的文件夹中。通常,这些jar文件和JDK一起驻留在“库”本身中。它看起来你解压了一堆东西,然后试图只是添加文件夹,但这不起作用:你需要添加实际的jar文件(而不是他们居住的文件夹)。有关示例,请参见[此答案](https://stackoverflow.com/a/21955257/2144390)中的NetBeans屏幕截图。 –

+0

它现在的作品,非常感谢你! – Evan

回答

0

你有UCanAccess jar文件以及它在“Libraries”下名为lib的文件夹中的依赖关系。通常,这些jar文件和JDK一起驻留在“库”本身中。它看起来你解压了一堆东西,然后试图只是添加文件夹,但这不起作用:你需要添加实际的jar文件(而不是他们居住的文件夹)。有关示例,请参见this answer中的NetBeans屏幕截图。