• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

从ODBC到LINQ:看数据访问技术的发展

发布: 2008-2-22 12:27 | 作者: 唐俊 | 来源: 希赛网 | 查看: 86次 | 进入软件测试论坛讨论

领测软件测试网

OLEDB位于ODBC层与应用程序之间。在你的ASP页面里,ADO是位于OLEDB之上的应用程序。你的ADO调用先被送到OLEDB,然后再交由ODBC处理。你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升。

    数据访问客户端

    DAO

    DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。

    DAO的最大问题在于只能跟JET引擎进行对话,而JET引擎通过与ODBC进行通信来检索数据。这种通过额外中间层的方式增加了不必要的系统开销,使得通过DAO来访问数据速度变慢。

    RDO

    远程数据对象RDO是Microsoft针对DAO性能低下的解决方案。访问Microsoft Access之外的数据库时,与DAO不同,RDO不使用JET引擎,而是直接与ODBC层进行通信。

    从调用栈中删除JET引擎这一举措极大地改进了ODBC数据源的性能。只有在访问Microsoft Access数据库的时候才使用JET引擎。另外,RDO可以使用客户程序端游标来定位记录,而DAO则需要服务器端游标。这极大地减少了数据库服务器的负荷,不仅使得应用程序运行得更好,而且也改进了应用程序所依赖的数据库。

    RDO主要面向大型商业用户,他们中的大多数因为性能问题而避免使用DAO。RDO并没有取代DAO,它们同时存在着。RDO发布后没多久,Microsoft就发布了新的通用访问API。

    ADO

    Microsoft引入ActiveX数据对象的主要目的是提供一种高级API与OLE-DB协同工作。在这次发布中,Microsoft吸取了过去很多教训,建立了一个更轻巧、更高效、更通用的数据访问API。与RDO不同的是,ADO最初被提议用来取代DAO和RDO。在发布之初,人们普遍认为它以及OLE-DB是访问任何类型数据的通用解决方案:从数据库到电子邮件,从无格式文本文件到电子表格。

    ADO代表了对以前数据访问方法的一种重大变革。ADO的发布主要用来辅助OLE-DB,但是ADO并不局限于仅仅与OLE-DB数据源进行通信。ADO引入了数据提供程序模型,这个模型使得软件供应商可以相对容易地创建自己的数据提供程序,这些数据提供程序可以被ADO用来与特定供应商的数据源进行通信,可以对那种特定的数据源进行优化。与ADO一起提供的ODBC提供程序就是一个这样的例子。当开发人员连接到ODBC数据源时,ADO通过ODBC提供程序而不是OLE-DB来进行通信。更加直接地与数据源进行通信可以导致更好的性能和易于扩展的框架。

    ADO.NET
 
    ADO.NET将成为构建数据感知 .NET应用程序的基础。 不同于ADO 的是,ADO.NET更具有通用性,不是那么专门针对数据库而进行的设计。 ADO.NET聚集了所有可以进行数据处理的类。这些类呈现了具有典型数据库功能的data container objects,比如:索引,排序,浏览。尽管ADO.NET是作为重要的.NET数据库应用程序的解决方案,它更多的显示了涵盖全面的设计,而不仅是作为和ADO模型一样的以数据库为中心。

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网