今天因爲工作需要接手一個數據庫對比和處理程序,在運行時遇到一些問題,在此進行記錄。
錯誤一: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驅動配置:
因爲Office365中不帶有Access,我一度以爲是因爲我沒有安裝Access的緣故。後來和同事交流,確定就是因爲32位的Access驅動和64位的JDK不匹配的原因。
解決方案就是安裝32的JDK 7u80。
CSDN上有位博友也提到了安裝64位驅動的解決方案,有興趣的可以試一下,我沒有嘗試。http://blog.csdn.net/aminfo/article/details/7786572
到此,我的問題解決了!
如果你需要下載舊版本的JDK,可以看這篇文章。