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
测试连接->测试连接成功。
Delphi7 ADO 代码:config.pas
unit config; interface
uses
SysUtils,forms;
type
TXQWYConfig=class //定义连接管理类
public
class function getConnectionStr:string; //定义类的方法,得到连接字符串
end;
implementation
class function TXQWYConfig.getConnectionStr;
begin
//result:='Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=XQWY;Data Source=(local)';
result:='Provider=MSDASQL.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=XQWY;Data Source=xqwy';
end;
end.
================================ 参考资料 ==================================
首先说明下程序的运行环境。操作系统是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连接发生错误:未发现数据源名称并且未指定默认驱动程序的更多相关文章
- 解决64位win7系统IIS7[ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序
从网上下载了一个asp系统,数据库是Access类型的,运行环境为 64位Windows 7系统,IIS7,运行系统后,报如下错误: Microsoft OLE DB Provider for ODB ...
- 转:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
在Win7 64位系统下,使用Java+Access数据库编程,用Java连数据库时,出现错误提示,如下: Java java.sql.SQLException: [Microsoft][ODBC 驱 ...
- [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
2003的access数据库文件后缀是mdb2007的access数据库文件后缀是accdb 我装的access2010所以驱动程序选择“Microsoft Access Driver (*.mdb, ...
- ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
在用c#生成应用程序的时候,读写dbf时,open方法出错 ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 以前这个程序是用着好 ...
- [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
Problems meet in the project: [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序((IM002) [Microso ...
- python 未发现数据源名称并且未指定默认驱动程序
最近在用python连接sqlserver读取数据库,读取数据时候在本机电脑正常,但是把程序部署到服务器运行时一直报错“未发现数据源名称并且未指定默认驱动程序”,后来发现是因为数据源的问题,解决如下: ...
- Advanced Installer 中测试数据库连接提示“未发现数据源名称并且未指定默认驱动程序”的解决办法
原文:Advanced Installer 中测试数据库连接提示"未发现数据源名称并且未指定默认驱动程序"的解决办法 最近需要制作一个安装包,安装包的要求如下: 1.用户手工填写M ...
- plsql excel导入报错:未发现数据源名称并且未指定默认驱动程序
1.情景展示 使用plsql的odbc导入器,导入excel数据时,报错信息如下: anydac 未发现数据源名称如何处理 2.原因分析 操作系统的问题,我的是64位的系统,plsql支持32 ...
- 关于 64位系统 java连接access 报错java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
报错的原因是url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=E:/公司/2000.mdb"; 这样是不行 ...
随机推荐
- poj 3744 Scout YYF I(概率dp,矩阵优化)
Scout YYF I Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5020 Accepted: 1355 Descr ...
- 用jQuery编的一个分页小代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS获取地址栏参数
获取地址栏参数(其中name为你所需要的参数值) function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- 使用srvany.exe将任何程序作为Windows服务运行
使用srvany.exe将任何程序作为Windows服务运行 2011 年 3 月 7 日 !本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使 ...
- BestCoder Round #61 1002 Game
Problem Description XY is playing a game:there are N pillar in a row,which numbered from 1 to n.Each ...
- 把ZenCart在线商店搭建到本地
前些日子,要给在线的zencart商店做一些小改动,需要安装一个插件.大家都知道,zencart有很多插件选用,兼容性也好坏不一,直接在正在运营的网站程序上修改,难免会影响到客户体验,出什么差错了代价 ...
- int *const && int const * && const int *的区别
ANSIC允许声明常量,常量和变量不同,常量就是不可以改变的量,用关键字const来修饰 比如:const int a int const a 以上两种声明方式是一样的,我们不需要考虑const和in ...
- EXTJS 动态改变Gird 列值
var me = this.getView('EditProProductQrcodePanel'); var grid = me.down("[name=mallQrcodeGrid] ...
- ubuntu apt常用命令
apt-cache search packagename 搜索包 apt-cache show packagename 获取包的相关信息,如说明.大小.版本等 apt-get install pack ...