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"; 这样是不行 ...
随机推荐
- PHP基础之 继承(一)
========================================= * 继承 extends *============================ ...
- 全键盘Vimium快捷键学习记录
0.设置而 vimium 的默认搜索引擎: http://www.baidu.com/s?wd= j: 向下细微滚动窗口. k:向上细微滚动窗口. gg:跳转到页面的顶部.G:跳转到页面的底部.r: ...
- Javascript高级程序设计——函数
函数Function 通过函数封装多条语句,在任何地方执行.javascript函数不会重载,相同名字函数,名字属于后定义的函数通过function关键词声明. function functionNa ...
- Android手机的上网功能需要用到APN(网络接入点)的设置 电信
手机apn出问题了,上不网 电信天翼: 我们经常使用的APN有三个,分别是NET网络设置.WAP网络设置和彩信网络设置. 1.NET网络设置 名称:CTNET APN:#777 用户名:ctnet@m ...
- FadeTop – 定时休息提醒工具
FadeTop 是款定时休息提醒工具,其特色是当设定时间到达时,将桌面渐变为指定的颜色,强制提醒但不影响桌面的任何操作 FadeTop is a visual break reminder for W ...
- Java多线程文件下载
一. 多线程下载文件考虑处理步骤: 1. 如何获取文件的长度 2. 合理的创建线程数量,并计算每一个线程下载的长度 3. 如何将多个线程下载的字节写入到文件中 二. 代码实现如下: package c ...
- ACM-括号匹配问题
对ACM仰慕已久,无奈今天才开始.好吧,遇到的第二个题目就把我难到了.(实话是第一个) 进入正题,下面Copy出题目: 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0 ...
- Graphic32中TBitmap32.TextOut性能分析[转载]
转载:http://blog.csdn.net/avan_lau/article/details/6958497 最近在分析软件中画线效率问题,发现在画一些标志性符号的方法,存在瓶颈,占用较大的时间. ...
- .oi 小游戏
http://agar.io/ http://diep.io/ http://slither.io/ http://splix.io/ http://wilds.io/ http://kingz.io ...
- Dex动态加载
Dex动态加载是为了解决什么问题? 在Android系统中,一个App的所有代码都在一个Dex文件里面. Dex是一个类似Jar的存储了多个Java编译字节码的归档文件. 因为Android系统使用D ...