- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库访问技术的演变
在数据库出现的早期,开发人员只需要了解正在使用的数据库产品的详尽知识。但数据库产品和技术发展很快。从关系数据库到非关系数据存储区(如电子邮件和文件系统),数据访问技术必须始终追随技术的飞速变化。并且,随着客户端/服务器及多层应用程序结构的出现,现在开发人员必须了解多种数据访问技术。大多数开发人员花了数年时间学会了许多缩写词所对应的技术,例如,ODBC、DAO、RDO、OLE DB、ADO 和 RDS。现在 Microsoft 已经推出 .NET 框架,并且,随之还有另外一项新的数据访问技术:ADO.NET。
当我们沉浸于每一项新的技术进步时,常常会忽略数据访问技术是如何演进的,以及每项技术应运而生的理由。了解这些技术的进展 £; 从 ODBC 到 ADO.NET £; 有助于为自己的机构选择合适的技术并对其进行优化。
ODBC
在最基本的数据库设计类型中,应用程序仅依赖一个数据库。在这样简单的设置中,应用程序开发人员可以直接针对数据库系统的接口进行编程。此方法虽然提供了一种快速而有效的数据访问方式,但当企业发展、开发人员需要扩展应用程序时,它却常常成了阻碍发展的一个大问题。单数据库的方法还意味着,每个现有的应用程序都必须有不同的版本以支持各个数据库。随着业务的变化、发展和合并,应用程序必须访问运行于不同平台的多种数据库。
ODBC 技术为访问异类的 SQL 数据库提供了一个共同的接口。ODBC 使用 SQL 作为访问数据的标准。图 1 显示了标准 ODBC 结构的关系图。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的 SQL 数据库管理系统 (DBMS)。因此,开发人员可以构建并分布客户端/服务器应用程序,而无需针对特定的 DBMS。
开发人员可以添加数据库驱动程序,将应用程序与用户所选的 DBMS 联系起来。如图 1 所示,驱动程序管理器提供应用程序与数据库之间的中间链接。ODBC 接口包含一系列功能,由每个 DBMS 的驱动程序实现。当应用程序改变它的 DBMS 时,开发人员只使用新的 DBMS 驱动程序替代旧的驱动程序,并且应用程序可以照常运行 £; 无需修改代码。
DAO和RDO
ODBC 使用低层接口,因此 C 和 C++ 程序员是真正从 ODBC 技术受益最多的人。Visual Basic (VB) 程序员没有一种简单的方法来访问 ODBC 接口。在 VB 6.0 之前,开发人员不得不依赖一种较高级别的数据访问模式。图 2 显示了 VB 程序员如何用数据访问对象 (DAO) 访问数据库。
DAO 是建立在 Microsoft Jet£¨Microsoft Access 的数据库引擎)基础之上的。Jet 是第一个连接到 Access 的面向对象的接口。使用 Access 的应用程序可以用 DAO 直接访问数据库。由于 DAO 是严格按照 Access 建模的,因此,使用 DAO 是连接 Access 数据库最快速、最有效的方法。DAO 也可以连接到非 Access 数据库,例如,SQL Server 和 Oracle。DAO 使用 ODBC,但是由于 DAO 是专门设计用来与 Jet 引擎对话的,Jet 将解释 DAO 和 ODBC 之间的调用。使用除 Access 之外的数据库时,这种额外的解释步骤导致较慢的连接速度。
要克服这样的限制,Microsoft 创建了 RDO。图 3 显示了 RDO 如何直接访问 ODBC API,而无需通过 Jet 引擎。不久之后,Microsoft 推出了 ODBCDirect,它是 DAO 的扩展,在后台使用 RDO。第 30 页的图 4 显示 ODBCDirect 如何允许现有的 DAO 应用程序访问数据库,而没有 Jet 引擎产生的性能损失。
OLE DB
多年以来,ODBC 已成为访问客户端/服务器数据库的标准。ODBC 提供了基于标准的接口,接口要求 SQL 处理功能,并被优化用于基于 SQL 的方法。然而,如果要访问不使用 SQL 的非关系数据源(例如,不按照关系存储数据的 Microsoft Exchange Server)中的数据,情况会如何呢?
进入 OLE DB。OLE DB 建立于 ODBC 之上,并将此技术扩展为提供更高级数据访问接口的组件结构。此结构对企业中及 Internet 上的 SQL、非 SQL 和非结构化数据源提供一致的访问。(实际上,在访问基于 SQL 的数据时,OLE DB 仍使用 ODBC,因为对于 SQL 它是最优结构。)如图 5 所示,OLE DB 由三个组件构成:数据使用者(例如,一个应用程序);包含并公开数据的数据提供程序以及处理并传输数据的服务组件(例如,查询处理器、游标引
文档评论(0)