现在的位置: 首页 > 综合 > 正文

DAO/RDO/ADO,ODBC,OLEDB之间的关系

2013年10月04日 ⁄ 综合 ⁄ 共 1783字 ⁄ 字号 评论关闭

 

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

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

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

ODBC (Open Database Connectivity)开放数据库互连)
是一些标准规范符合规范的数据库就可以通过SQL(结构化查询语言)编写的命令进行操作.理解ODBC是种数据库互连标准就行了,WINDOWSODBC配置,只是对数据库进行系统中登记操作一样,不起任何数据服务作用.他也是ADO的前身!

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

OLE DB
定义了一组 COM
接口,对各种数据库管理系统服务进行封装,并允许创建软件组件,实现这些服务。OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。

此外,OLE DB
包含了一个连接 ODBC
桥梁,对现用的各种
ODBC
关系型数据库驱动程序提供一贯的支持。---号称取代odbc,但也兼容odbc

这么说吧,我们操作ADO,ADO则访问OLEDB(当然可以访问其他的,只要符合ADO接口),OLEDB查询ODBC(也可以不用找他)得到数据接口操作数据,也就是说OLEDB位于ODBC层与应用程序之间.
你的ADO调用先被送到OLEDB,然后再交由ODBC处理
.
你也可以直接连接到OLEDB
.

下面我们说一下对于access数据库如何直接连接到OLEDB:(至于对与SQL的连接方法,等我学了在补充)

先创建一个对象:

Dim objCn As New Connection

然后采用下面的连接字符串:

objCn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;" & _

                           
"DataSource=" & App.Path & "\
实例1.mdb"

 objCn.Open

以上是最近学习《举一反三》遇到的一些概念性的问题,具体的操作步骤会在接下来的整理中呈现给大家!

 

抱歉!评论已关闭.