如何解决 “在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配””



JAVA大作业,要用JAVA连上ACCESS的数据库,运行后出现“[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”的情况。
找到了解决方案,总之都是32位和64为系统的问题,在这里分享。
首先先介绍一些基本的利用ODBC连接数据库的操作。

1.由于我的系统是64为,office装的也是64位(这个是主要原因),所以不能用控制面板->管理工具->ODBC32.exe这种传统方式来增加数据源。
解决方法:打开C:\Windows\SysWOW64 地址下的ODBCAD32.exe来进行增加数据源。


如何解决 “在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配””_第1张图片


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地址:点击打开链接

我都试过,安装并且配置完环境就成功啦!!!

如何解决 “在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配””_第2张图片


你可能感兴趣的:(c#)