ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序

Posted KayvanGuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序相关的知识,希望对你有一定的参考价值。

程序在使用ODBC方式连接数据库时发生错误:

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

什么原因造成的呢?

技术分享

本人使用《Delphi+SQL Server数据库应用实例完全解析》 附带例程测试,发现不能连接数据库。
提示通信模块驱动问题。
环境:win7_x86 + SQL Server2000 + Delphi 7.
解决方法:

SQL Server 2000

1. 通过数据库->所有任务->还原数据库。
2. 安全性设置->登录-> 设置默认数据为 xqwy。

ODBC
1. 打开控制面板-> ODBC 数据源管理器

2. 添加-> 选择 SQL Server

3. Name: 数据库名称 Description: 数据库描述  Server:计算机名称

4. 下一步 保存  确定。

5. 测试: Delphi 7 创建ADOCon 控件,双击控件。

6.Use Connection String -> build

7. 连接: 使用数据源名称:xqwy
             用户名:sa

             密码:sa

   测试连接->测试连接成功。

================================  参考资料  ==================================

首先说明下程序的运行环境。操作系统是win8 64位的,.net 4.0的程序。

进展一,打开控制面板的“数据源”工具,在“驱动程序”中并未发现对应的驱动程序名称,于是,下载安装64位ODBC驱动程序,并根据驱动程序列表中的驱动名称,修改了对应的odbc连接字符串。测试后依然提示以上错误。甚至根据高手指点,使用了64位系统专用的odbc连接字符串,依然错误。

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

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

以上是关于ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序的主要内容,如果未能解决你的问题,请参考以下文章

求助 ODBC驱动程序管理器 未发现数据源名称并且未指定默认驱动程序

未发现数据源名称并且未指定默认驱动程序

未发现数据源名称并且未指定默认驱动程序怎么解决

[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序怎么解决?

未发现数据源名称并且未指定默认驱动程序问题如何解决

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