日期:2014-05-20  浏览次数:20840 次

win7家庭版odbc连接抛异常[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
求教!

连接代码:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:book");

系统DSN配置:
       Microsoft SQL Server ODBC 驱动程序版本 06.01.7600

数据源名称: book
数据源描述: book
服务器: SONY-VAIO
数据库: Test
语言: (Default)
翻译字符数据: Yes
日志长运行查询: No
日志驱动程序统计: No
使用区域设置: No
预定义的语句选项: 在断开时删除临时存储过程
使用故障转移服务器: No
使用 ANSI 引用的标识符: Yes
使用 ANSI 的空值,填充和警告: Yes
数据加密: No

测试连接成功。

但是运行就抛异常:
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
------解决方案--------------------
补充下,系统是64位的。
------解决方案--------------------
con = DriverManager.getConnection("jdbc:odbc:book", "" ,""); 
试试 后面两个参数分别是用户名 密码
------解决方案--------------------
用户名和密码都是配好的。
搞利用一下午,问题出在odbc上,64位和32位的不一样,最后用64位的就好了,不过还是没想通。86下的sql2005,反而32位的odbc不匹配,却是需要64位的odbc。依然求教原因!
------解决方案--------------------
引用:
用户名和密码都是配好的。
 搞利用一下午,问题出在odbc上,64位和32位的不一样,最后用64位的就好了,不过还是没想通。86下的sql2005,反而32位的odbc不匹配,却是需要64位的odbc。依然求教原因!

...把你后来搞好的驱动配置贴个图上来吧 依然学习
------解决方案--------------------
请问下 ,怎么把ODBC换成64位的?
------解决方案--------------------
同问啊。。。windows/syswow64/odbccd32运行貌似可以。。运行里或控制面板,管理工具里启动的数据源管理器就不好用。
------解决方案--------------------
该回复于2011-03-11 11:19:25被版主删除
------解决方案--------------------
求教:楼主你把解决办法弄上来瞧瞧,
------解决方案--------------------
楼主,怎么解决的,晒晒吧
------解决方案--------------------
楼主,别小气,晒晒答案,很多人等着呢。
------解决方案--------------------
楼主怎么解决的?