您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > ADO,OLEDB,ODBC,DAO的区别
ADO,OLEDB,ODBC,DAO的区别2012-07-1915:29101人阅读评论(0)收藏举报dao数据库sqlservermicrosoftaccess数据库驱动程序ODBC(OpenDatabaseConnectivity,开放数据库互连)1992年,微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。---出现的最早,但不总是万能。DAO(DataAccessObject,数据访问对象)1993年,微软公司用来显露了MicrosoftJet数据库引擎(最早是给MicrosoftAccess所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据库一样,直接连接到Access表。DAO最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,而且其使用起来也是很方便的。所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式---应用的专一性RDO(RemoteDataObjects,远程数据对象)1995年,RDO是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAOstyle组合在一起,提供了一个接口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。但是,RDO已被证明是许多SQLServer、Oracle以及其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。---无疑是在odbc基础上的OLEDB(ObjectLinkingandEmbedding,Database,对象连接嵌入数据库)1997年,Microsoft的一个战略性系统级编程接口,用于管理整个组织内的数据。OLEDB是建立在ODBC功能之上的一个开放规范。ODBC是为访问关系型数据库而专门开发的,OLEDB则用于访问关系型和非关系型信息源,例如主机ISAM/VSAM和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。OLEDB定义了一组COM接口,对各种数据库管理系统服务进行封装,并允许创建软件组件,实现这些服务。OLEDB组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。OLEDB接口有助于平滑地集成组件,这样,OLEDB组件厂商就可以快速地向市场提供高质量OLEDB组件。此外,OLEDB包含了一个连接ODBC的“桥梁”,对现用的各种ODBC关系型数据库驱动程序提供一贯的支持。---号称取代odbc,但也兼容odbcADO(ActiveXDataObject,活动数据对象)1996年,ADO是DAO/RDO的后继产物。ADO2.0在功能上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO扩展了DAO和RDO所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。作为最新的数据库访问模式,ADO的使用也是简单易用,所以微软已经明确表示今后把重点放在ADO上,对DAO/RDO不再作升级,所以ADO已经成为了当前数据库开发的主流。ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据连接)以及OLEDB三种方式。后面的例程将详细讲解这三种方式的具体访问实现。---可以说是对odbc,oledb这些系统级的编程接口的汇接,并对DAO,RDO这些应用级的编程接口的升级吧。ODBC、DAO、ADO、OLEDB数据库连接方式区别及联系ODBC是一种底层的访问技术,因此,ODBCAPI可以是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。DAO提供了一种通过程序代码创建和操纵数据库的机制。最大特点是对MICROSOFTJET数据库的操作很方便,而且是操作JET数据库时性能最好的技术接口之一。并且它并不只能用于访问这种数据库,事实上,通过DAO技术可以访问从文本文件到大型后台数据库等多种数据格式。ADO是基于OLEDB的访问接口,它是面向对象的OLEDB技术,继承了OLEDB的优点。属于数据库访问的高层接口。名词解释:ODBC(OpenDataBaseConnectivity)开放数据库互联。是由微软主导的数据库链接标准。MFC(MicrosoftFoundationClass)微软基础类。MFCODBC是对ODBC的封装。DAO(DataAccessObject)数据访问对象。不提供远程访问功能。RDO(RemoteDataObject)远程数据对象。速度快,支持SQLServer存储过程,同DAO一样是发展很多年了的技术。OLE-DB(ObjectLinkingandEmbeddingDataBase)对象链接和嵌入数据库。它依赖于COM和提供OLEDB提供者的厂商而非ODBC使用的SQL。ADO(ActiveXDataObject)ActiveX数据对象。基于OLE-DB建立连接的局部和远程数据库访问技术。同OLE-DB一样要“年轻”些。使用中,我们一般用OLE-DB和ADO替代DAO和RDO。ADO和OLEDB之间的关系OLEDB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。OLEDB是用于访问数据的重要的系统级编程接口,它是ADO的基础技术,同时还是ADO.NET的数据源。ADO是基于OLEDB的访问接口,它是面向对象的OLEDB技术,继承了OLEDB的优点。属于数据库访问的高层接口。可以这么说,ADO为OLEDB提供高层应用API函数。各种数据接口的连接方式一、ADO连接1、连接access数据库setconn=Server.CreateObject(ADODB.Connection)conn.openDriver={MicrosoftAccessDriver(*.mdb)};dbq=&Server.Mappath(dbname(路径全名))2、连接SQLServer数据库setconn=server.CreateObject(ADODB.Connection)sql=Driver={SQLServer};server=(local);uid=sa;pwd=sa;database=dbnameconn.open(sql)二、ODBC连接(必须先注册数据源---DSN)(列举配置SQLServer数据库文件DSN,打开管理工具---数据源(ODBC)---打开系统DSN选项卡---单击添加按钮---从列表中选择SQLServer,单击完成---在名称中输入数据库名称,在你想连接的SQLServer服务器中输入(local)---按向导提示完成)1、连接access数据库Setconn=Server.CreateObject(ADODB.Connection)conn.OpenDSN=注册名2、连接SQLServer数据库setconn=Server.CreateObject(ADODB.Connection)conn.connectionstring=DSN=注册名;UID=sa;PWD=sa;conn.open三、OLEDB连接数据库1、连接access数据库setconn=Server.CreateObject(ADODB.Connection)conn.openProvider=Microsoft.Jet.OLEDB.4.0;DataSource=&server.MapPath(dbname(路径全名))&;PersistSecurityInfo=Falsesetrs=Server.CreateObject(ADODB.Recordset)2、连接SQLServer数据库setconn=server.CreateObject(ADODB.Connection)sql=Provider=SQLOLEDB;datasource=(local);initialcatalog=dbname;UserID=sa;password=sa;conn.open(sql)
本文标题:ADO,OLEDB,ODBC,DAO的区别
链接地址:https://www.777doc.com/doc-2900591 .html