如何解決 “在指定的 DSN 中,驅動程式和應用程式之間的體系結構不匹配””
阿新 • • 發佈:2019-02-11
JAVA大作業,要用JAVA連上ACCESS的資料庫,執行後出現“[Microsoft][ODBC 驅動程式管理器] 在指定的 DSN 中,驅動程式和應用程式之間的體系結構不匹配”的情況。
找到了解決方案,總之都是32位和64為系統的問題,在這裡分享。
首先先介紹一些基本的利用ODBC連線資料庫的操作。
1.由於我的系統是64為,office裝的也是64位(這個是主要原因),所以不能用控制面板->管理工具->ODBC32.exe這種傳統方式來增加資料來源。
解決方法:開啟C:\Windows\SysWOW64 地址下的ODBCAD32.exe來進行增加資料來源。
2.java程式碼,連線資料庫。
public class TestAccessDB { private Connection conn; private String url = "jdbc:odbc:myAccess"; // 指定連線資料庫的URL private String user = "sa"; // 指定連線資料庫的使用者名稱 private String passWord = "123"; // 指定連線資料庫的密碼 public void getConnection(){ try { // 載入資料庫驅動 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url, user, passWord);// 建立資料庫連線 if (conn != null) { // 如果Connection例項不為空 System.out.println("資料庫連線成功"); // 提示資訊 } } catch (Exception ex) { System.out.println("ERROR: " + ex.getMessage()); } } }
3.這時候執行,就會出現標題的問題了。
由於我的ODBC是ODBCAD32.exe,為了符合他的32位,我們的JAVAJDK和eclipes也應該是32位。
解除安裝64位的eclipes和JDK後,安裝32位的。
32位eclipes地址:點選開啟連結
32位的jdk地址:點選開啟連結
我都試過,安裝並且配置完環境就成功啦!!!