1、演变历史:

它们是按照这个时间先后的顺序逐步出现的,史前->ODBC->OLEDB->ADO->ADO.Net

2、下面分别介绍一下这几个。

a. 史前的数据访问是什么样子的?

——最初,对数据库的访问是通过本机库来实现的,如SQL SERVER的DBLib和Oracle的OCI(Oracle Call Interface,Oracle调用接口),这样能够快速访问数据库,不涉及其他附加层,只需要编写可直接访问数据库的代码即可。但是,这也意味着开发人员必须使用不同的API来访问不同的数据库系统,而且,如果要改变应用程序的数据库,那么就需要修改应用程序中的所有数据访问相关的代码,来适应不同的数据库。

一句话总结,史前的这种数据访问方式对不同的数据库的通用性还是很低的。

b. ODBC的诞生?

——在20世纪90年代初,Microsoft和其他几家公司都开发了ODBC(Open DataBase Connectivity,开放数据库连接),它提供了一个公共的数据访问层,可用来访问几乎所有的RDBMS(Relational DataBase Management System,关系型数据库管理系统)。ODBC使用RDBMS专用的驱动程序访问数据源,而该驱动程序由ODBC Driver Manager加载和管理。它还提供诸如连接池等特性,以重用已有连接,而不是在关闭连接的时候释放连接。

一句话总结,ODBC是以微软为首的行业参与者设计的,是最早的通用数据访问技术,通过使用ODBC驱动程序可以访问各种关系型数据库

c. OLEDB的诞生?

——是一次数据访问技术新的变革,是Microsoft的UDA(Universal Data Access,通用数据访问)策略。UDA的实质是数据可以存储于多种地方,如电子邮件,Excel电子制表软件、Web页面以及传统的数据库中。这样可以通过一个简单一致的数据访问技术,就可以访问这些数据。而OLEDB是实现这种策略的基础。OLEDB是面向调用的API,是用于数据访问的一系列COM接口。

一句话总结,OLE DB的革新, 是它除了能处理关系型数据库, 还能处理非关系型数据了, 如Excel, 这就比ODBC更加进步了.

d.ADO的诞生?

——ADO(ActiveX Data Objects)是对OLEDB的进一步封装,ADO(它的底层也是调用的OLEDB)是面向对象的API,请看下图:

一句话总结,ADO就是对OLEDB的使用的简化,不需要去学习几百个API的使用,访问数据时,只需要去操纵几个简单对象的属性和方法。

   

e. ADO.Net的诞生?

——ADO.NET (ActiveX Data Objects for .NET) 。

  

一句话总结,ADO.NET是改进的ADO数据访问模型,用于开发可扩展应用程序。它是专门为可伸缩性、无状态和XML核心的web而设计的。

结束。

ADO.Net的发展史的更多相关文章

  1. ADO.NET对象的详解

    1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能 ...

  2. WebForm获取GET或者POST参数到实体的转换,ADO.NET数据集自动转换实体

    最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[] ...

  3. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  4. ADO.NET一小记-select top 参数问题

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 最近使用ADO.NET的时候,发现select top @count xxxx 不 ...

  5. .NET基础拾遗(6)ADO.NET与数据库开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...

  6. 升讯威ADO.NET增强组件(源码):送给喜欢原生ADO.NET的你

    目前我们所接触到的许多项目开发,大多数都应用了 ORM 技术来实现与数据库的交互,ORM 虽然有诸多好处,但是在实际工作中,特别是在大型项目开发中,容易发现 ORM 存在一些缺点,在复杂场景下,反而容 ...

  7. ADO.NET Entity Framework 在哪些场景下使用?

    在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...

  8. ADO.NET 核心对象简介

    ADO.NET是.NET中一组用于和数据源进行交互的面向对象类库,提供了数据访问的高层接口. ADO.NOT类库在System.Data命名空间内,根据我们访问的不同数据库选择命名空间,System. ...

  9. ODBC、OLE DB、 ADO的区别

    转自:http://blog.csdn.net/yinjingjing198808/article/details/7665577 一.ODBC ODBC的由来 1992年Microsoft和Syba ...

随机推荐

  1. oracle_创建表空间_临时表空间_修改表空间_以及自增长

    管理员用户登录oracle数据库 [oracle@DBORACLE ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on ...

  2. iconfont在线链接使用方法(转)

    原文:https://blog.csdn.net/jinkingliao/article/details/51353937 基础流程就不多赘述,直接到http://www.iconfont.cn/官网 ...

  3. nginx修改上传文件大小限制

    问题: 项目上线,图片上传报413错误,找了半天,原来是nginx限制了上传大小 在nginx.conf的server的location中加client_max_body_size 10m;

  4. Cross-Origin跨域问题

    为什么会跨域,要先了解浏览器的同源策略SOP(Same Orign Policy)  https://segmentfault.com/a/1190000015597029 同源: 如果两个页面的协议 ...

  5. 013-mac重做系统后的软件安装

    一.系统设置 1.屏幕设置:系统偏好设置→显示器→排列,多个显示器可以排列组合 2.touch bar功能键设置:系统偏好设置→键盘→键盘,触控栏设置 F1 3.程序坞[dock]设置:系统偏好设置→ ...

  6. angular当router使用userhash:false时路由404问题

    angular当router使用userhash:false时路由404问题 安装iis urlrewrite2.0组件 在根目录下创建 Web.config <configuration> ...

  7. Jenkins + Gerrit + Git

    参考:https://blog.csdn.net/mr_raptor/article/details/76223233 https://www.cnblogs.com/kevingrace/p/565 ...

  8. spring boot集成aop实现日志记录

    1.pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  9. python-爬虫(3)---lxml匹配css

    百度首页  部分代码 <div class="s_tab_inner"> <b>网页</b> <a href="//www.ba ...

  10. PHP----------php封装的一些简单实用的方法汇总

    1.xml转换成array,格式不对的xml则返回false function xml_parser($str){    $xml_parser = xml_parser_create();    i ...