ado的效率不是最佳★◈★◈,但是使用极为方便★◈★◈,而且通过压缩传输recrodset然后使用updatebatch功能极大的降低了网络的负载被C的走不了路★◈★◈。这是我坚持使用ADO的原因★◈★◈。同时ADO支持将recordset用XML的方式储存★◈★◈、读取(读取需通过Stream对象)★◈★◈,对于通过HTTP协议传输recordset极为方便★◈★◈。只需100行左右的代码就可以实现基于HTTP的recordset的远程传输★◈★◈。
RDO和DAO微软已经放弃★◈★◈,我就不多说了★◈★◈。但是必须承认★◈★◈,连接SQL Server的时候RDO的效率超过ADO★◈★◈。
ODBC作为一个标准★◈★◈,地位正在受到OLEDB的挑战★◈★◈。OLEDB的可扩展性和与ADO完美的结合使得我们可以访问任意位置的数据★◈★◈,从SQL Server★◈★◈、DB2★◈★◈、informix标准DBMS到EXCEL★◈★◈,outlook通讯簿★◈★◈,AD等等非传统的数据系统★◈★◈,而且OLEDB的SDK可以从MS站点免费下载★◈★◈,使用VC既可开发(VB的数据模块基于OLE Provider★◈★◈,功能上也类似★◈★◈,但是不能算真正的OLE Provider)★◈★◈。但是作为一个跨平台的标准★◈★◈,由于有IBM的支持★◈★◈,在unix品台商ODBC仍然是最大的赢家★◈★◈。
1992年Microsoft和Sybase被C的走不了路★◈★◈、Digital共同制定了ODBC标准接口★◈★◈,以单一的ODBC API 来存取各种不同的数据库★◈★◈。随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术★◈★◈。
虽然ODBC在初期的版本中执行效率不佳★◈★◈,而且功能有限★◈★◈,因此也为人们所贬低★◈★◈。但是★◈★◈,随着Micr osoft不断地改善ODBC★◈★◈,使ODBC的执行效率不断增加★◈★◈,ODBC驱动程序的功能也日渐齐全★◈★◈。到目前★◈★◈,ODBC已经是一个稳定并且执行效率良好的数据存取引擎★◈★◈。
不过ODBC仅支持关系数据库★◈★◈,以及传统的数据库数据类型★◈★◈,并且只以C/C++语言API 形式提供服务★◈★◈,因而无法符合日渐复杂的数据存取应用★◈★◈,也无法让脚本语言使用★◈★◈。因此Microsoft除了ODBC 之外★◈★◈,也推出了其他的数据存取技术以满足程序员不同的需要★◈★◈。
DAO能够存取xBase的数据库以及Excel文件★◈★◈,并且能够结合ODBC存取关系数据库★◈★◈。但是DAO毕竟主要的设计目的是存取Access数据库★◈★◈,因此DAO在存取Access数据库时非常有效率★◈★◈,但是在存取其他的数据源时却表现得不怎么好★◈★◈。目前DAO已经慢慢接近维护的状态★◈★◈,因此建议各位尽量不要在新的项目中使用DAO★◈★◈。
Microsoft之所以推出RDO★◈★◈,是因为ODBC API 是非常复杂的API★◈★◈,许多程序员无法直接使用ODBC API 来开发应用程序★◈★◈,因此Microsoft以简化的RDO对象让程序员能够较为简单存取数据★◈★◈。此外★◈★◈,通过RDO★◈★◈,VB和脚本语言也能够存取各种关系数据库★◈★◈。不过目前RDO也已经逐渐地被放弃了★◈★◈,因此建议各位也不要在新的项目中使用RDO★◈★◈,毕竟RDO只能算是一个过渡性质的数据存取解决方案★◈★◈。
随着数据源日益复杂化CQ9(电子中国)官方网站★◈★◈,现今的应用程序很可能需要从不同的数据源取得数据★◈★◈,加以处理★◈★◈,再把处理过的数据输出到另外一个数据源中★◈★◈。更麻烦的是这些数据源可能不是传统的关系数据库★◈★◈,而可能是Excel文件★◈★◈,Email或Internet/Intranet上的电子签名信息★◈★◈。Microsoft为了让应用程序能够以统一的方式存取各种不同的数据源★◈★◈,在1997年提出了Universal Data Access(UDA)架构★◈★◈。UDA以COM技术为核心★◈★◈,协助程序员存取企业中各类不同的数据源★◈★◈。
UDA以OLE-DB(属于操作系统层次的软件)做为技术的骨架★◈★◈。OLE-DB定义了统一的COM接口做为存取各类异质数据源的标准★◈★◈,并且封装在一组COM对象之中★◈★◈。藉由OLE-DB★◈★◈,程序员就可以使用一致的方式来存取各种数据★◈★◈。
虽然OLE-DB允许程序员存取各类数据★◈★◈,是一个非常良好的架构被C的走不了路★◈★◈,但是由于OLE-DB太底层化★◈★◈,而且在使用上非常复杂★◈★◈,需要程序员拥有高超的技巧CQ9(电子中国)官方网站★◈★◈,因此只有少数的程序员才有办法使用OLE-DB★◈★◈。这让OLE-DB无法广为流行★◈★◈。为了解决这个问题★◈★◈,并且让VB和脚本语言也能够藉由OLE-DB存取各种数据源★◈★◈,Microsoft同样以COM技术封装OLE-DB为ADO对象★◈★◈,简化了程序员数据存取的工作★◈★◈。由于
ADO成功地封装了OLE-DB大部分的功能★◈★◈,并且大量简化了数据存取工作★◈★◈,因此ADO也逐渐被愈来愈多的程序员所接受★◈★◈。
ADO主要是让应用程序或Web 应用程序存取各种不同的数据源CQ9(电子中国)官方网站★◈★◈。ADO封装了OLE-DB复杂的接口★◈★◈,以极为简单的COM接口存取数据★◈★◈。ADO能够藉由OLE-DB存取传统的关系数据库★◈★◈,或Flat-File类型的数据库★◈★◈;也可以存取非传统的数据★◈★◈,例如文字★◈★◈、Email★◈★◈、声音★◈★◈、图形★◈★◈、影像等★◈★◈。更可以通过OLE-DB★◈★◈,藉由Connector来存取大型的数据源★◈★◈,例如CICS等★◈★◈。但是不管应用程序要存取哪一种数据源★◈★◈,应用程序都只需要使用ADO★◈★◈,而不需要使用各种不同的复杂API来存取不同的数据★◈★◈,这样就可以大大简化应用程序员的工作★◈★◈。
1.DAO 数据访问对象(DAO)方式是允许程序员操纵Microsoft Jet数据库引擎的第一个面向对象的接口★◈★◈。Jet数据库引擎是一种用来访问MicrosoftAccess表和其它数据源的记录和字段的技术★◈★◈。对于单一系统的数据库应用程序来说★◈★◈,DAO依然很受欢迎并且非常有效★◈★◈;在中等规模工作组的网络中★◈★◈,DAO也有少量的应用★◈★◈。
2.RDO 远程数据对象(RDO)方式是提供给开放数据库互连(ODBC)数据源的面向对象的接口★◈★◈。RDO是开发Microsoft SQL Server★◈★◈、Oracle★◈★◈、和其它大型关系数据库应用程序的绝大多数数据库开发者使用的对象模型★◈★◈。
3.ADO ActiveX数据对象(ADO)方式是DAO和RDO方式的继承者★◈★◈,它也有一个类似的对象模式★◈★◈。在ADO方式中★◈★◈,可编程对象展示了你的计算机上所有可获取的本地和远程数据源★◈★◈。
ODBC(Open Database Connectivity★◈★◈,开放数据库互连)是微软公司开放服务结构(WOSA★◈★◈,Windows Open Services Architecture)中有关数据库的一个组成部分★◈★◈,它建立了一组规范★◈★◈,并提供了一组对数据库访问的标准API(应用程序编程接口)★◈★◈。这些API利用SQL来完成其大部分任务★◈★◈。ODBC本身也提供了对SQL语言的支持★◈★◈,用户可以直接将SQL语句送给ODBC★◈★◈。
应用程序要访问一个数据库★◈★◈,首先必须用ODBC管理器注册一个数据源★◈★◈,管理器根据数据源提供的数据库位置★◈★◈、数据库类型及ODBC驱动程序等信息★◈★◈,建立起ODBC与具体数据库的联系★◈★◈。这样★◈★◈,只要应用程序将数据源名提供给ODBCCQ9(电子中国)官方网站★◈★◈,ODBC就能建立起与相应数据库的连接★◈★◈。
OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口★◈★◈。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化问题语言(SQL)能力★◈★◈,还具有面向其他非SQL数据类型的通路被C的走不了路★◈★◈。 作为微软的组件对象模型(COM)的一种设计★◈★◈,OLE DB是一组读写数据的方法(在过去可能被称为渠道)★◈★◈。OLD DB中的对象主要包括数据源对象★◈★◈、阶段对象★◈★◈、命令对象和行组对象★◈★◈。使用OLE DB的应用程序会用到如下的请求序列★◈★◈: 初始化OLE 连接到数据源 发出命令 处理结果 释放数据源对象并停止初始化OLE
OLE DB标准中定义的新概念----OLE DB将传统的数据库系统划分为多个逻辑组件★◈★◈,这些组件之间相对独立又相互通信★◈★◈。这种组件模型中的各个部分被冠以不同的名称★◈★◈:数据提供者(Data Provider)★◈★◈。 提供数据存储的软件组件★◈★◈,小到普通的文本文件★◈★◈、大到主机上的复杂数据库★◈★◈,或者电子邮件存储★◈★◈,都是数据提供者的例子★◈★◈。有的文档把这些软件组件的开发商也称为数据提供者★◈★◈。
我们要开启如Access 数据库中的数据★◈★◈,必须用透过OLE DB 来开启★◈★◈。ADO.NET 利用OLE DB 来取得数据★◈★◈,这是因为OLE DB 了解如何和许多种数据源作沟通★◈★◈,所以对OLE DB有相当程度的了解是很重要的★◈★◈。
微软公司的ADO (ActiveX Data Objects) 是一个用于存取数据源的COM组件★◈★◈。它提供了编程语言和统一数据访问方式OLE DB的一个中间层★◈★◈。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的★◈★◈,而只用关心到数据库的连接★◈★◈。访问数据库的时候★◈★◈,关于SQL的知识不是必要的★◈★◈,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行★◈★◈。
ODBC最先出来★◈★◈,是用来连接oracle★◈★◈、sql server★◈★◈、access等数据库的一种接口标准(后来随着各厂商的扩充★◈★◈,也就都不标准了)★◈★◈,各数据库提供实现ODBC的“驱动程序”
OLE DB是微软“发明”的★◈★◈,用来淘汰ODBC的被C的走不了路★◈★◈,OLE DB不光可以连接各种数据库★◈★◈,还可以连接exchange★◈★◈、活动目录★◈★◈、甚至操作系统文件目录等各种数据库源(也需要分别使用不同的“驱动程序”)
ADO也是微软的被C的走不了路★◈★◈,是用来淘汰早起微软的RDO★◈★◈、DAO的(ADO可以做RDO★◈★◈、DAO能做的所有事)★◈★◈,ADO在上层★◈★◈,通过下面的ODBC或者OLE DB来访问数据源(注意不是数据库★◈★◈,因为可访问范围包括活动目录等各种数据)★◈★◈。不过微软目前的ODBC实际是通过OLE DB访问数据源的★◈★◈。
4.ODBC的本意是“ODBC的最大优点是能以统一的方式处理所有的数据库”★◈★◈,其实都是扯淡★◈★◈,因为各数据库对标准SQL都做了大量的扩充★◈★◈,除非你只使用标准的SQL★◈★◈,不然“统一”根本太不上★◈★◈。
是微软的VB3.0中提供的数据访问技术★◈★◈,它允许访问和处理本地数据库★◈★◈,象access★◈★◈,缺点是不能访问远程数据库★◈★◈。因此DAO在存取Access数据库时非常有效率★◈★◈,但是在存取其他的数据源时却表现得不怎么好★◈★◈。DAO是Microsoft一种用来访问Jet引擎的方法★◈★◈,主要用来访问Access数据库,使用起来比较简单★◈★◈。
于是乎微软在vb4.0中提供了RDO远程数据访问技术★◈★◈,它可以有效的访问象oracle&sql server这样的远程数据库★◈★◈,但也有问题就是它对本地数据库访问效果很差★◈★◈,所以在vb6.0中才出现了ADO★◈★◈,综合了前两个版本的优点★◈★◈,支持对关系和非关系数据库的访问★◈★◈,也支持访问其他的数据源★◈★◈,如★◈★◈:电子表格★◈★◈、email等★◈★◈。
是微软的一个应用程序接口 (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)处理一组对象以完成远程资料的存取★◈★◈,它是在ODBCAPI和驱动程序之上的一个可程序的薄层(thin code layer)★◈★◈,用以建立资料结果集(result set)和光标★◈★◈,以及用最小的工作站资源执行复杂的程序★◈★◈。
由于OLEDB位于底层★◈★◈,只能由C++这样的OO语言直接实现★◈★◈,而不能用VB这样的高层4G语言来实现★◈★◈,所以微软将对OLEDB的访问封装成对象★◈★◈,即ActiveX 数据对象(ADO)★◈★◈,可以由vb这样的语言来调用它对OLEDB操作★◈★◈。
ADO是一种基于COM的数据库访问技术★◈★◈,可以访问关系数据库与非关系数据库★◈★◈,由于它是基于COM的★◈★◈,访问速度也较快★◈★◈,占用资源较小★◈★◈。
发展历程看是★◈★◈:dao--rdo--ado★◈★◈,dao主要是为单机环境准备其中的一些概念很好理解★◈★◈,这也是它比较容易使用的原因★◈★◈。
RDO是专门为网络环境开发的一组对象★◈★◈,是基于odbc的一组接口★◈★◈,使用起来只能用于结构型数据库★◈★◈。而ADO是ACTIVEX数据对象★◈★◈,基于OLEDB的编程接口★◈★◈,而且能支持结构型数据库和非结构型数据库★◈★◈,而且微软将来的. NET平台的数据库也是基于OLEDB和ADO的★◈★◈,所以ADO有很强的适用性
将数据查询Recordset绑定到一个或多个控件上(例如★◈★◈,文本框★◈★◈、网格控件或组合框)★◈★◈,以便在 Web 页上显示ADOR.Recordset数据★◈★◈。
代表来自基本表或命令执行结果的记录的全集★◈★◈。任何时候★◈★◈,Recordset对象所指的当前记录均为集合内的单个记录CQ9(电子中国)官方网站★◈★◈。
返回真或假★◈★◈。如果为真★◈★◈,则保持中止★◈★◈,即该事务中止后紧跟着开始另一事务★◈★◈。如果为假★◈★◈,则不保持中止★◈★◈。
返回真或假★◈★◈。如果为真★◈★◈,则保留提交★◈★◈,即该事务提交后紧跟着开始另一事务★◈★◈。如果为假★◈★◈,则不保留提交★◈★◈。
它定义了一个标准的方法来实现应用程序和数据库之间的通讯★◈★◈,它实际上是通过一组系统API来实现的★◈★◈。实际上起到了对sql语句的翻译作用★◈★◈,使之可以在不同的数据库上运行★◈★◈。
全称为开放式数据库互联★◈★◈,它定义了一个标准的方法来实现应用程序和数据库之间的通讯★◈★◈,它实际上是通过一组系统API来实现的★◈★◈。实际上起到了对sql语句的翻译作用★◈★◈,使之可以在不同的数据库上运行★◈★◈。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS★◈★◈,不直接与DBMS打交道★◈★◈,所有的数据库操作由对应的DBMS的ODBC驱动程序完成★◈★◈。也就是说★◈★◈,不论是FoxPro★◈★◈、Access还是Oracle数据库★◈★◈,均可用ODBCAPI进行访问★◈★◈。由此可见★◈★◈,ODBC的最大优点是能以统一的方式处理所有的数据库CQ9(电子中国)官方网站★◈★◈。
它是一种数据库结构★◈★◈,它可以使程序具有对存储于不同信息源的数据的一致访问★◈★◈。说白了就是能用select * from table这样的语句来访问不同类型的数据库★◈★◈,如access,sql server★◈★◈。
OLEDB是微软“发明”的★◈★◈,用来淘汰ODBC的★◈★◈,OLEDB不光可以连接各种数据库★◈★◈,还可以连接exchange★◈★◈、活动目录★◈★◈、甚至操作系统文件目录等各种数据库源.
它是专门针对java的一种数据库访问技术★◈★◈,可以实现java对不同数据源的一致性访问★◈★◈。全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库★◈★◈。我们先来看看第一种JDBC--ODBC访问的流程★◈★◈:JDBC Driver Mannager-局部JDBC驱动-客户端数据库-数据库服务器-返回查询结果★◈★◈,这种访问事实上是转换JDBC调用为相应的数据库(Oracle, Sybase, Informix,DB2, 和其他的数据库数据库管理系统)的客户端API调用(说简单点就好像ASP不是通过DSN对数据库访问而是通过OLEDB访问)★◈★◈。
要通过JDBC来存取某一特定的数据库★◈★◈,必须有相应的JDBC driver★◈★◈,它往往是由生产数据库的厂家提供★◈★◈,是连接JDBC API与具体数据库之间的桥梁★◈★◈。
简单地说★◈★◈,JDBC 可做三件事★◈★◈:与数据库建立连接★◈★◈、发送 SQL 语句并处理结果★◈★◈。下列代码段给出了以上三步的基本示例★◈★◈:
上述代码对基于JDBC的数据库访问做了经典的总结★◈★◈,当然★◈★◈,在本小节的后续部分会对它做详尽的分析讲解★◈★◈。CQ9电子最新网站★◈★◈。cq9电子平台网站下载★◈★◈,CQ9电子★◈★◈,CQ9传奇★◈★◈。CQ9电子传奇★◈★◈!CQ9电子官方网站★◈★◈。CQ9(电子中国)官方网站★◈★◈,