ODBC连接数据库提示:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
问题现象
业务程序通过ODBC链接RDSforMysql数据库,程序启动后运行提示:[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配。
处理思路
梳理出ASP程序到数据库中间的关键节点,ASP程序-》ODBC驱动程序管理器-》Mysql驱动-》数据库,进行定界。
排查过程
1、通过DAS登录RDS、RDS本身的日志,确认RDS本身正常,并通过ODBC数据源连接RDS进行test结果正常,来定界业务异常和RDS数据库无关,问题出现在ASP程序-》ODBC数据源(Mysql驱动)这一段,也验证了‘驱动程序和应用程序之间的体系结构不匹配。’是根因 。
2、定界不是数据库本身问题,需排查ODBC驱动管理器、mysql驱动来解决。根据报错提示‘驱动程序和应用程序之间的体系结构不匹配’,尝试更换驱动程序版本解决。
3、分别下载、安装mysql ODBC32位和64位的驱动程序,然后再卸载了64位的odbc驱动,再下载安装32位的驱动(此时遇到需依赖安装32位VS的问题,那就先下载安装提示的VS),并更新ODBC数据源的驱动程序后,问题解决。
添加ODBC数据源的方法:控制面板-》管理工具下打开ODBC:
根因分析
前端业务通过ASP+ODBC调用后台数据库,但是安装的ODBC版本为64位,而ASP为32位,所以不匹配。
问题解决
重新下载安装了MYSQL ODBC8.0 CONNECTOR 32位版(前提需要安装微软Visual Studio 2015 x86即32位版),然后重启,再打开ODBC 建立32位DSN,问题解决!
- 点赞
- 收藏
- 关注作者
评论(0)