win7 64位数据库连接问题:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
通过ODBC/JDBC连接程序和数据库时,异常报错“在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”的解决办法
本机:64位win7,64位JDK,做Web实验用32位myeclipse不管是Access还是SQLServer连接数据库都出问题后,我终于明白当初做Java实验为啥连不上Access数据库但SQLServer没问题了,现在完美解决,哈哈!
原因:
64位win7操作系统ODBC版本默认为64位(建立的SQLServer数据源也为64位),需对应64位JDK及64位office(access),用myeclipse时也应对应64位myeclipse版本才可使用
若为32位myeclipse,与数据库连接时应对应32位ODBC数据源(建立的SQLServer数据源为32位)
解决方法:
X:\Windows\SysWOW64\odbcad32.exe
例如:
去C:/windows/syswow64文件夹下,打开odbcad.exe,这样打开的就是32位版本的odbc
利用这个为odbc创建系统 DSN
连接SQLServer或Access,Access后缀应为mdb
注意此时应把jdk路径设置为32位jdk所在路径,若用myeclipse也应使用32位版本myeclipse
注:
64位版的位置:C:\windows\system32\odbcad32.exe
32位版的位置:C:\windows\sysWOW64\odbcad32.exe
数据库建立并运行成功后,将JDK再改回64位好像对数据库也无影响了