数据访问技术的演变

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

在出现的早期,开发人员只需要了解正在使用的数据库产品的详尽知识。但数据库产品和技术发展很快。从关系数据库到非关系数据存储区(如电子邮件和文件系统),数据访问技术必须始终追随技术的飞速变化。并且,随着客户端/服务器及多层应用程序结构的出现,现在开发人员必须了解多种数据访问技术。大多数开发人员花了数年时间学会了许多缩写词所对应的技术,例如,ODBC、DAO、RDO、OLEDB、ADO和RDS。现在Microsoft已经推出框架,并且,随之还有另外一项新的数据访问技术:。

当我们沉浸于每一项新的技术进步时,常常会忽略数据访问技术是如何演进的,以及每项技术应运而生的理由。了解这些技术的进展£;从ODBC到ADO.NET£;有助于为自己的机构选择合适的技术并对其进行优化。

ODBC

在最基本的数据库类型中,应用程序仅依赖一个数据库。在这样简单的设置中,应用程序开发人员可以直接针对数据库系统的接口进行。此方法虽然提供了一种快速而有效的数据访问方式,但当企业发展、开发人员需要扩展应用程序时,它却常常成了阻碍发展的一个大问题。单数据库的方法还意味着,每个现有的应用程序都必须有不同的版本以支持各个数据库。随着业务的变化、发展和合并,应用程序必须访问运行于不同平台的多种数据库。

ODBC技术为访问异类的SQL数据库提供了一个共同的接口。ODBC使用SQL作为访问数据的标准。第30页的图1显示了标准ODBC结构的关系图。这一接口提供了最大限度的互操作性:一个应用程序可以通过共同的一组代码访问不同的SQL数据库管理系统(DBMS)。因此,开发人员可以构建并分布客户端/服务器应用程序,而无需针对特定的DBMS。

开发人员可以添加数据库驱动程序,将应用程序与用户所选的DBMS联系起来。如图1所示,驱动程序管理器提供应用程序与数据库之间的中间链接。ODBC接口包含一系列功能,由每个DBMS的驱动程序实现。当应用程序改变它的DBMS时,开发人员只使用新的DBMS驱动程序替代旧的驱动程序,并且应用程序可以照常运行£;无需修改代码。

DAORDO

ODBC使用低层接口,因此C和程序员是真正从ODBC技术受益最多的人。(VB)程序员没有一种简单的方法来访问ODBC接口。在VB6.0之前,开发人员不得不依赖一种较高级别的数据访问模式。第30页的图2显示了VB程序员如何用数据访问对象(DAO)访问数据库。

DAO是建立在MicrosoftJet£¨Microsoft的数据库引擎)基础之上的。Jet是第一个连接到Access的面向对象的接口。使用Access的应用程序可以用DAO直接访问数据库。由于DAO是严格按照Access建模的,因此,使用DAO是连接Access数据库最快速、最有效的方法。DAO也可以连接到非Access数据库,例如,和。DAO使用ODBC,但是由于DAO是专门设计用来与Jet引擎对话的,Jet将解释DAO和ODBC之间的调用。使用除Access之外的数据库时,这种额外的解释步骤导致较慢的连接速度。

要克服这样的限制,Microsoft创建了RDO。第30页的图3显示了RDO如何直接访问ODBCAPI,而无需通过Jet引擎。不久之后,Microsoft推出了ODBCDirect,它是DAO的扩展,在后台使用RDO。第30页的图4显示ODBCDirect如何允许现有的DAO应用程序访问数据库,而没有Jet引擎产生的性能损失。

OLEDB

多年以来,ODBC已成为访问客户端/服务器数据库的标准。ODBC提供了基于标准的接口,接口要求SQL处理功能,并被优化用于基于SQL的方法。然而,如果要访问不使用SQL的非关系数据源(例如,不按照关系存储数据的MicrosoftExchangeServer)中的数据,情况会如何呢?

共4页  第1页   
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值