2017-06-05 88 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屏幕截圖。