2014-02-22 29 views
1

我一直在試圖2007數據庫通過JDBC(JDK是Windows 7的64位在64位)連接到MS Access和我收到的「驅動程序和應用程序之間的結構不匹配」以下錯誤:一個在JDBC與MS訪問

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application.

我升級進入2010年,我在Windows \ SysWOW64中使用odbcad32.exe的和下載/安裝32位Microsoft Access數據庫引擎2010可再發行(無法安裝64位的MS Access數據庫引擎2010年,因爲我目前有安裝32位Office產品),但我仍然有同樣的錯誤。

我能做些什麼來解決這個錯誤?

+0

[指定的DSN包含體系結構不匹配錯誤]的可能的重複(http://stackoverflow.com/questions/20008501/the-specified-dsn-contains-an-architecture-mismatch-error) –

回答

1

正如我在其他回答here中提到的那樣,您需要在JVM(Java虛擬機)中以與安裝的Access數據庫引擎版本(即「ACE」)相同的「位」運行Java應用程序。由於您安裝了32位版本的ACE,因此您需要在32位JVM中運行Java應用程序。

+0

我應該安裝一個額外的32位JRE在我的系統上,只爲這種情況?我的其他Java項目是否仍然可以使用現有的64位JRE? – user1680859

+1

@ user1680859是的,你可以在同一臺機器上同時支持32位和64位的JRE。您現有的項目可以繼續使用64位JRE,您可以明確告訴某個特定項目使用32位環境。 –

+0

我安裝我的系統上的32位JRE,並再次相同的錯誤 – user1680859