刚开始学习数据库.对数据库的那几种连接方式有点不太明白.我说说这几天我自己的理解.
三种连接方式:RDO DAO ADO
ADO---Active Data Objects,活动数据对象
DAO---Data Access Objects,数据访问对象
RDO---Remote Data Objects,远程数据对象
其中RDO DAO是早期的数据库连接方式,现在的由于 ADO的连接方式更有效,对网络压力小.更受人们喜爱.
这三种连接方式我给他们打一个比方:
它们就好比三种运输工具.打个不太恰当的比喻:如:自行车,火车 飞机..每种交通工具都有自己的特点。每个工具都有自己的产生历史。
比如我们要去运输煤炭。我们当然要选择火车。这样效率是最高的。
当你非要用飞机去运输煤炭。那么肯定是事倍功半。
RDO DAO ADO就像是三种运输方式。他们运输的是计算机之间的数据。他们有自己的产生历史。工作特点。所以我们在选择连接方式的时候就要考虑我们要运输的对象是否能这么用。当然,这里面的ADO由于技术先进。所以比较让人喜爱。
DAO::
1993年Microsoft为了让程序员能够存取Access数据库,使用OLE Automation技术封装了Jet Engine 。这些使用Jet Engine 存取Access数据库的OLE Automation Object便称为Data Access Object(DAO)。
是微软的VB3.0中提供的数据访问技术,它允许访问和处理本地数据库,象access,缺点是不能访问远程数据库。因此DAO在存取Access数据库时非常有效率,但是在存取其他的数据源时却表现得不怎么好。DAO是Microsoft一种用来访问Jet引擎的方法,主要用来访问Access数据库,使用起来比较简单
于是乎微软在vb4.0中提供了RDO远程数据访问技术,它可以有效的访问象oracle&sql server这样的远程数据库,但也有问题就是它对本地数据库访问效果很差,所以在vb6.0中才出现了ADO,综合了前两个版本的优点,支持对关系和非关系数据库的访问,也支持访问其他的数据源,如:电子表格、email等。
RDO
是微软的一个应用程序接口 (application program interface, API) ,让写Windows应用程序的程序师能够进入微软和其他的数据库供给者的数据库。然后,程序中 RDO 陈述使用微软的底层数据存取对象 (DAO) 来实际进入数据库。 数据库供给者写入 DAO接口。 RDO 已经发展到微软为新的程序推荐的程序接口--- ActiveX 数据对象。 ADO也提供进入非关系数据库的接口而且比较容易使用。
RDO (Remote Data Objects) 远程数据对象是一个到 ODBC的、面向对象的数据访问接口,它同易于使用的 DAO style组合在一起,提供了一个接口,形式上展示出所有 ODBC 的底层功能和灵活性。尽管 RDO 在很好地访问 Jet 或 ISAM 数据库方面受到限制,而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多 SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。
RDO(Remote Data Objects)处理一组对象以完成远程资料的存取,它是在ODBC API和驱动程序之上的一个可程序的薄层(thin code layer),用以建立资料结果集(result set)和光标,以及用最小的工作站资源执行复杂的程序。
注意RDO只能在32位的操作系统上执行
ADO
是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据
由于OLE DB位于底层,只能由C++这样的OO语言直接实现,而不能用VB这样的高层4G语言来实现,所以微软将对OLE DB的访问封装成对象,即ActiveX 数据对象(ADO),可以由vb这样的语言来调用它对OLE DB操作。
ADO是一种基于COM的数据库访问技术,可以访问关系数据库与非关系数据库,由于它是基于COM的,访问速度也较快,占用资源较小。
发展历程看是:dao--rdo--ado,dao主要是为单机环境准备其中的一些概念很好理解,这也是它比较容易使用的原因。
RDO是专门为网络环境开发的一组对象,是基于odbc的一组接口,使用起来只能用于结构型数据库。而ADO是ACTIVEX数据对象,基于OLE DB的编程接口,而且能支持结构型数据库和非结构型数据库,而且微软将来的. NET平台的数据库也是基于OLE DB和ADO的,所以ADO有很强的适用性