2010-11-20 75 views
-1

我經常google了這個問題,答案不一致,沒有任何幫助。所以我想我可以在這裏得到更多的幫助。 我需要在Java中爲我的下一個類使用ODBC從MS Access數據庫(mdb)獲取數據編寫一個小應用程序。我的操作系統是Windows 7旗艦版64位。我知道SysWOW64文件夾中有一個odbcad32。 我設法在那裏建立DSN。但我無法連接。該應用程序拋出一個SQL異常。嘗試了兩種替代品的DriverManager.getConnection()如何在Windows 7上使用Java + ODBC連接到MS Access數據庫

jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb 

jdbc:odbc:DSN_NAME 

的驅動程序是:

sun.jdbc.odbc.JdbcOdbcDriver 

[編輯]

連接碼是基本的加盟如下:

try { 
     Class.forName(driver); 
     db = DriverManager.getConnection(url); 
    } 
    catch(SQLException e) { 
     System.out.println("SQL error!"); 
    } 
    catch(ClassNotFoundException e) { 
     System.out.println("Class not found!"); 
    } 

[/編輯]

並不起作用。我不知道如何解決這個問題,因爲我不知道問題出在哪裏!如果是ODBC驅動程序或Java或其他。

使用虛擬WinXP來完成這項工作太麻煩了。這不能永遠持續下去。

[EDIT2]

只是可以肯定:它在WinXP工作,因爲implicited。 :}

[/ EDIT2]

我將不勝感激了很多的幫助,我可以來到這裏。 :DDDDD

+1

不知道你期望什麼樣的幫助。您發佈的僞代碼的隨機位看起來很合理,但您尚未發佈顯示實際演示代碼的SSCCE(http://sscce.org)。您尚未說明SQLException是什麼。所以我們沒有什麼可以繼續。 – camickr 2010-11-20 23:51:23

+0

已編輯。我希望現在就夠了。 :D – 2010-11-21 01:44:45

+0

在我看來,如果你已經Google並發現不滿意的答案,那麼包含一些答案並解釋他們爲什麼沒有解決你的問題是有意義的。 – 2010-11-24 20:12:34

回答

2

因此,您既然已經安裝了ODBC,則可能還需要確保使用的是相同的64位odbc驅動程序(如果您在%WINDIR%\ System32 \ odbcad32.exe下創建了odbc連接)。我知道有一個事實,即沒有64位驅動程序的訪問2007年,所以在我的情況下,我不得不創建一個32位odbc連接(%WINDIR%\ SysWOW64 \ odbcad32.exe),降級我的Java版本到32位,並使用32位驅動程序使其工作。

希望這會有所幫助!

+0

這就是我的想法,但我很難找到正確的版本。我再試一次,似乎我很幸運。它正在工作:D非常感謝。 – 2010-11-21 17:47:56

相關問題