简单了解ADO.NET、ADO、OLE DB、ODBC

一、数据访问方式的历史

通用数据访问模型:

       ODBC – (Open Database Connectivity)是一种底层的访问技术,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。

OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了。

数据访问客户端:

    DAO - (Data Access Objects)不像ODBC那样是面向C/C++程序员的,它是微软提供给Visual Basic开发人员的一种简单的数据访问方法,用于操纵Access数据库。

  RDO – 在使用DAO访问不同的关系型数据库的时候,Jet引擎不得不在DAO和ODBC之间进行命令的转化,导致了性能的下降,而RDO(Remote Data Objects)的出现就顺理成章了。

    ADO – 基于OLE DB之上的ADO更简单、更高级、更适合Visual Basic程序员,同时消除了OLE DB的多种弊端,取而代之是微软技术发展的趋势。

ADO.NET—是一个全新的访问编程模型。与ADO相比,更具有通用性,不是专门针对对数据库而进行的设计。ADO.NET聚集了所有可以进行数据处理的类。

二、ODBC和OLE DB

ODBC是最早的通用数据访问技术,但是ODBC只限于检索关系型数据库的数据。

OLE DB提供者实现了一组COM接口,它可以处理关系型数据库,还可以处理非关系型数据。

三、ADO和ADO.NET

ADO实际上是位于OLE DB顶部的一个附加层(也就是位于OLE DB与应用程序之间),它封装了OLE DB。

先了解 ADO对象模型:

ADO、应用程序和OLE DB、数据提供者的联系:

ADO.NET可以让.NET上的任何编程语言都可以连并访问关系数据库与非关系型数据,或者独立出来作为处理应用程序数据的类型对象。它不是ADO的下一个 版本,而是一个全新的架构,功能比ADO更加强大,使用更加方便。

ADO.NET的5个对象:

各个部件之间的关系:

四、总结:

每一个内容都有它的发展史,了解了它的每一步发展,就对它的有了宏观的把控。然后提取他们的相同内容,对比他们的不同,用旧的知识去解决新的知识,更加有利于我们的理解。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-02 23:39:05

简单了解ADO.NET、ADO、OLE DB、ODBC的相关文章

ODBC、OLE DB、 ADO的区别

一.ODBC ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术.ODBC以当时的业界标准规范X/OpenCall-LevelInterface(CLI)和ISO/IEC9075-3Call-LevelInterface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库.虽然ODBC在初期的版本中执行效

【转载】OLE DB, ADO, ODBC关系与区别

原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用 SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC

[转帖]ODBC、OLEDB、ADO、ADO.NET

一文详解ODBC.OLEDB.ADO.ADO.NET之间的关系 2019年01月16日 21:28:38 LoveMIss-Y 阅读数:66更多 所属专栏: 白话C#高级编程 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_27825451/article/details/86515141 相信看到这篇文章的人,心中肯定有这样的想法:ODBC.OLEDB.ADO.ADO.NET貌似都是访问数据库的东东,那么他们之间有什么区别,又有什么联系呢

ADO与ADO.NET的区别

ADO是使用ole db接口并基于微软的COM技术,ADO.NET使用自己的ADO.NET接口并基于微软的.NET体系架构,所以ADO.NET与ADO是两种数据访问方式. ADO以recordset存储,而ADO.NET则以dataset表示,Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接.反之,DataSet可以是多个表的集合. ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的.ADO.NET则使用离线方式,在访问

ODBC、OLE DB、 ADO、ODAC、ODP.NET

面对各式各样.越来越多的数据来源和访问需求.软件开发框架中一般都提供了统一的访问接口和方法,来屏蔽数据库底层差异. 各式各样的Provider提供者. ODBC(Open Database Connectivity,开放数据库互连):是微软提供的支持关系数据库,以及传统的数据库数据类型,并且只以C/C++语言API(API就是一些C语言的代码,是最底层的程序,在windows中就是一些.dll的文件)形式提供服务. OLE-DB:定义了统一的COM接口做为存取各类异质数据源的标准,并且封装在一组

JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系

ODBC: (Open Database Connectivity,开放数据库互连),它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC. JDBC:全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可訪问各类关系数据库.JDBC也是java核心类库的一部分. OLE DB(O

数据库连接字符串 ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider

下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider. I.DSN oConn.Open "DSN=AdvWorks; UID=Admin; PWD=;" 注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中.你必须同时使用DSN,UID,PWD标志.例如下面的方式在MDAC 2.1中将会出错:oConn.

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)

[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.com.tw/mis2000lab/archive/2014/05/19/ashx_beginner_05_db_picture_show_download.aspx 根据前面三篇文章的教学 完成后可以做出来  (请您务必依照顺序学习,不要只是找范例来Copy) [.ashx檔?泛型处理程序?]基础入门#1.

SSAS:OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'

问题描述 按照微软官方教程尝试使用SSAS做OLAP时,出现如下错误信息: Severity Code Description Project File Line Suppression State Error OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'.; 28000. 0 问题原因 该问题是由于连接SQL Server数据源的时候,产生了授权认证错误. 解决方案