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. .NET中的泛型集合总结

    最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOve ...

  2. C#开发问题汇总

    问题1:HTTP 错误 500.21 - Internal Server Error处理程序“NickLeeCallbackHandler”在其模块列表中有一个错误模块“ManagedPipeline ...

  3. HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】

    最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...

  4. Freemaker Replace函数的正则表达式运用

    replace(param1,param2,param3) param1 正则表达式:param2 将匹配的字符替换成指定字符:param3 模式 param3 参数如下  模式  i   r   m ...

  5. 一个农民工混迹于 IT 行业多年后的泣血总结

    一看题目,你心里一定闪出一个想法,这又是一篇软文吧,是不是,不想辩别了,自己判断吧哈哈.这是根据本人真实经历所写的一篇总结.假如你满足你的现状,这就是一篇软文,请立刻关闭此文章,继续你现在的生活.   ...

  6. Podfile语法参考

    中文翻译可以参考:Podfile语法参考(译) 英文官方文档:Podfile Syntax Reference

  7. Mybatis下的sql注入

    以前只知道mybatis框架下,order by后面接的是列名是不能用#{},这样不起效果,只能用${},这样的话就可能产生sql注入.后来发现其实还有另外两种情况也是类似的: 1.order by ...

  8. meterpreter 持久后门

    创建持久后门 当成功获取目标系统的访问权限后,需要寻找方法来恢复与目标主机的连接,而无需再进入目标系统.如果目标用户破坏了该连接,例如重新启动计算机,此时使用后门将允许自动重新与目标系统建立连接.为了 ...

  9. 关于MySQL中的自联结的通俗理解

    关于MySQL中的自联结的通俗理解 前言:最近在通过SQL必知必会这本书学习MySQL的基本使用,在学习中也或多或少遇到了点问题,我也正好分享给大家,我的这篇博客用到的所有表格的代码都是来自SQL必知 ...

  10. Linux替换文件内容sed命令

    sed -e 4a\newline testfile  //在第四行后添加一行,并将结果输出到标准输出.-e,以指定脚本处理文本文件:a,新增. nl /etc/passwd | sed '2,5d' ...