ADO,OLEDB,ODBC,DAO的区别

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)

时间: 2024-10-13 19:57:42

ADO,OLEDB,ODBC,DAO的区别的相关文章

【转载】ADO,OLEDB,ODBC,DAO的区别

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

【转载】OLE DB, ADO, ODBC关系与区别

原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用 SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以及c api (php用此接口),共约101个类+128个c函数1 2.1. Jdbc api数量  约60个类..java.sql包下面的..大概几百个方法函数吧..2 2.2. Odbc api数量::约78个,odbc是个非oo的api2 2.3. C api (mysql ): 约50个..

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别 时间 2012-12-19 20:30:12  CSDN博客原文  http://blog.csdn.net/xifeijian/article/details/8333396 在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了 Provider 信息(其实类似对数据库进行连接操作时,都需要指定连接字符串),以

oledb,odbc简易实体生成器.

DataSet to code file(C#)工具. 方便自己写的odbc或者oledb的东西用的. sql server或者oracle等大数据库已经有EF的支持. 一些其他数据库还是用oledb,odbc用的多,只有自己写生成实体类的工具了. 动软也是支持oledb,不过不支持odbc. /******************************************************************************* * @remarks Modified b

Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别(转)

在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连接字符串),以下是一行连接串源代码: strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties=Excel

log4net写入DB2备忘 via OLEDB & ODBC

在项目中遇到需要记录操作日志的需求,由于是一个外挂系统,因此不用考虑到公司框架的限制,直接二层架构直连数据库,考虑使用log4net连接DB2.请宽恕我这个非软工科班出身的IT小白,以前一直在知道有个log4net,但在工作中公司有一套自己的框架记履历,一直没有机会接触.这次嘛,正好就这个机会小试身手. 在这里先简答介绍一下这个外挂系统.很简单,.NET+DB2的配置,两层架构,大致画面都有了,需要切入权限控制和日志系统.工作很顺利的开展了,权限系统嘛小意思,日志方面log4net拿来就用,大不

PO、BO、VO、DTO、POJO、DAO的区别

PO: 基本上就是Entity了 persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. -------------------------------------------------------------------------------- BO: business object业务对象 主要作用是把业务逻辑封装为一个对象.这个对象可以包括一个或多个其它的对象. 比如一个简历,有教育经

Java系列之JDBC和ODBC之间的区别与联系

JDBC简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,它是Java十三个规范之一.可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名. ODBC简介 开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA