Java 8讀取Access數據庫報錯的問題——用32位Java 7

今天因爲工作需要接手一個數據庫對比和處理程序,在運行時遇到一些問題,在此進行記錄。

錯誤一:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

首先,遇到的第一個錯誤就是:

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

經過百度和分析,發現Oracle在JDK8中把這個包給移除了。

解決方案就是使用JDK7來運行該程序。

錯誤二:Java java.sql.SQLException: [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序

在我安裝好64位JDK 7u80後,再次運行程序,遇到了另一個錯誤:

Java java.sql.SQLException: [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序

提示信息也比較詳細,我打開了“ODBC 驅動程序管理器”,看到了有32位的Access驅動配置:

odbc

因爲Office365中不帶有Access,我一度以爲是因爲我沒有安裝Access的緣故。後來和同事交流,確定就是因爲32位的Access驅動和64位的JDK不匹配的原因。

解決方案就是安裝32的JDK 7u80。

CSDN上有位博友也提到了安裝64位驅動的解決方案,有興趣的可以試一下,我沒有嘗試。http://blog.csdn.net/aminfo/article/details/7786572

到此,我的問題解決了!

如果你需要下載舊版本的JDK,可以看這篇文章


http://www.alanzeng.cn/2016/03/java-read-access-exception/

發佈了94 篇原創文章 · 獲贊 39 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章