ADO,OLEDB,ODBC,DAO的区别

来源:互联网 发布:javascript实例 编辑:程序博客网 时间:2024/06/05 19:19

ODBC(Open Database Connectivity,开放数据库互连)

1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。---出现的最早,但不总是万能。


DAO(Data Access Object,数据访问对象)

1993年,微软公司用来显露了Microsoft Jet数据库引擎(最早是给Microsoft Access 所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且其使用起来也是很方便的。所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式---应用的专一性


RDO(Remote Data Objects,远程数据对象)

1995年,RDO是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。---无疑是在odbc基础上的


OLE DB(Object Linking and Embedding, Database,对象连接嵌入数据库)

1997年, Microsoft 的一个战略性系统级编程接口,用于管理整个组织内的数据。OLE DB 是建立在 ODBC 功能之上的一个开放规范。ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源,例如主机 ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。

OLE DB 定义了一组 COM 接口,对各种数据库管理系统服务进行封装,并允许创建软件组件,实现这些服务。OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。 
OLE DB 接口有助于平滑地集成组件,这样,OLE DB 组件厂商就可以快速地向市场提供高质量 OLE DB 组件。此外,OLE DB 包含了一个连接 ODBC 的“桥梁”,对现用的各种 ODBC 关系型数据库驱动程序提供一贯的支持。---号称取代odbc,但也兼容odbc 

ADO(ActiveX Data Object,活动数据对象)

1996年,ADO是DAO/RDO的后继产物。ADO 2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO"扩展"了DAO和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。 作为最新的数据库访问模式,ADO的使用也是简单易用,所以微软已经明确表示今后把重点放在ADO上,对DAO/RDO不再作升级,所以ADO已经成为了当前数据库开发的主流。 ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据连接)以及OLE DB三种方式。后面的例程将详细讲解这三种方式的具体访问实现。---可以说是对odbc,oledb这些系统级的编程接口的汇接,并对DAO,RDO这些应用级的编程接口的升级吧。

 

ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系

ODBC 是一种底层的访问技术,因此,ODBC API 可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。

DAO 提供了一种通过程序代码创建和操纵数据库的机制。最大特点是对MICROSOFT JET数据库的操作很方便,而且是操作JET数据库时性能最好的技术接口之一。并且它并不只能用于访问这种数据库,事实上,通过DAO技术可以访问从文本文件到大型后台数据库等多种数据格式。

ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。


名词解释:

ODBC(Open DataBase Connectivity)开放数据库互联。是由微软主导的数据库链接标准。

MFC(Microsoft Foundation Class)微软基础类。MFC ODBC是对ODBC的封装。

DAO(Data Access Object)数据访问对象。不提供远程访问功能。

RDO(Remote Data Object)远程数据对象。速度快,支持SQL Server存储过程,同DAO一样是发展很多年了的技术。

OLE-DB(Object Linking and Embedding DataBase)对象链接和嵌入数据库。它依赖于COM和提供OLE DB提供者的厂商而非ODBC使用的SQL。

ADO(ActiveX Data Object)ActiveX数据对象。基于OLE-DB建立连接的局部和远程数据库访问技术。同OLE-DB一样要“年轻”些。

使用中,我们一般用OLE-DB和ADO替代DAO和RDO。


ADO和OLEDB之间的关系

OLEDB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。

OLE DB 是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时还是 ADO.NET 的数据源。

ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。

可以这么说,ADO为OLEDB提供高层应用API函数。



各种数据接口的连接方式

一、ADO连接
1、连接access数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Driver={Microsoft Access Driver (*.mdb)};dbq="&Server.Mappath("dbname(路径全名)")
2、连接SQL Server数据库
set conn=server.CreateObject("ADODB.Connection")
sql="Driver={SQL Server};server=(local);uid=sa;pwd=sa;database=dbname"
conn.open(sql)

二、ODBC连接(必须先注册数据源---DSN)
(列举配置SQL Server数据库文件DSN,打开管理工具---数据源(ODBC)---打开系统DSN选项卡---单击添加按钮---从列表中选择SQL Server,单击完成---在名称中输入数据库名称,在你想连接的SQL Server服务器中输入(local)---按向导提示完成)
1、连接access数据库
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=注册名"
2、连接SQL Server数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.connectionstring="DSN=注册名;UID=sa;PWD=sa;"
conn.open

三、OLEDB连接数据库
1、连接access数据库
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("dbname(路径全名)")&";Persist Security Info=False"
set rs=Server.CreateObject("ADODB.Recordset")
2、连接SQL Server数据库
set conn=server.CreateObject("ADODB.Connection")
sql="Provider=SQLOLEDB;data source=(local);initial catalog=dbname;User ID=sa;password=sa;"
conn.open(sql)

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 xp桌面图标有阴影怎么办 联想电脑忘记登录密码怎么办 xp系统忘掉密码怎么办 xp密码忘记了怎么办 电脑忘记开机密码怎么办 注销了win7用户名怎么办 xp启动后黑屏怎么办 开机要按esc怎么办 excel产品激活失败怎么办 米粉卡激活失败怎么办 电脑死机ppt保存怎么办 电脑装系统黑屏怎么办 电脑c盘无法访问怎么办 d盘变成ntfs怎么办 系统重装卡住了怎么办 系统关机没反应怎么办 232串口打开失败怎么办 逆水寒cpu不支持怎么办 显卡被禁用了怎么办 vmvare注册错了怎么办 电脑主机未成功启动怎么办 主机未成功启动怎么办 电脑主机未能成功启动怎么办 虚拟机没有自带怎么办 错误连接为720怎么办 dns错误不能上网怎么办 家里无线用不了怎么办 磁盘c5坏了怎么办 一体机装xp蓝屏怎么办 虚拟机密码忘记了怎么办 vivoy66手机太卡怎么办 虚拟机装xp蓝屏怎么办 exagear玩起来卡怎么办 第五人格模拟器玩太卡怎么办 速腾油箱盖打不开怎么办 奥迪a6油箱盖打不开怎么办 苹果手提虚拟机黑屏怎么办 mac系统桌面变大怎么办 删除文件要权限怎么办 页面载入错误了怎么办 手机打不开excel表格怎么办