1. 程式人生 > >如何解決 “在指定的 DSN 中,驅動程式和應用程式之間的體系結構不匹配””

如何解決 “在指定的 DSN 中,驅動程式和應用程式之間的體系結構不匹配””



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地址:點選開啟連結

我都試過,安裝並且配置完環境就成功啦!!!