ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

程序在使用ODBC方式连接数据库时发生错误:ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序。什么原因造成的呢?

首先说明下程序的运行环境。操作系统是win7 64位的。

进展一,打开控制面板的“数据源”工具,在“驱动程序”中并未发现对应的驱动程序名称,于是,下载安装64位ODBC驱动程序,并根据驱动程序列表中的驱动名称,修改了对应的odbc连接字符串。

ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序_第1张图片

测试后依然提示以上错误。然后根据其他网络文章在“ODBC数据源管理器”的“系统DSN”栏也加入了和用户DSN一样的ODBC配置

ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序_第2张图片

然而还是报错!

进展二,突然想到会不会和.net程序有关?因为部分控件兼容性问题,程序虽然运行在64位操作系统下,但实际上是以32位方式运行。这个会不会是问题的根本呢?尝试下载32位的odbc驱动,并安装。测试连接,成功!


后来我又尝试了一下,只安装32位的,发现在“ODBC数据源管理器”中没有ODBC驱动,于是我又把64位安装上,才能够正常使用,所以为了能够正常使用,这两个驱动都要安装

原因分析:结合之前看到的现象(win8 64位系统中的“设置odbc数据源”工具居然分为32位和64位两个程序),猜想原因:win8 64位系统中的odbc驱动分为32位和64位分开管理,32位方式运行的程序只会调用32位的odbc驱动,同理,64位的程序只能调用64位的odbc驱动。


你可能感兴趣的:(驱动,错误,连接,数据源,odbc,tpc-e)