【转】OLEDB和ODBC以及ADO最形象的解释

史前
    那时候每个数据库供应商(其实也没几个)
   
都有自己的数据库操作API,
    每个应用程序只能使用一个固定的数据库
   
想换数据库?没门!你要全部重新写
后来
   
X/OPEN和ISO(好像还有IBM)说
    这么乱,程序员怎么活啊
   
于是提出了CLI(Call-Level Interface)
   
每个数据库的CLI(驱动程序)基本上相同,
   
程序员总算好过点了,可是要换数据库,
   
你写的程序需要重新编译(或许还要安装)
再后来
   
于是ODBC来了,它通过动态装载各个数据库的CLI
   
把函数调用转换成每个数据库的CLI调用
   
数据库应用程序总算和数据库供应商每什么关系了
再后来
   
MS提出了OLE,MS还有了自己的数据库
    (Access/SQL
Server)
    MS是老大,这个问题上当然要有自己的看法
   
要是还只是提供ODBC,那多没面子
    所以提出了
OleDb,它通过COM接口调用
   
OleDb也需要每个数据库提供一个CLI
   
(不过有了新名词,叫作Provider)
    MS 给
Access和SqlServer分别写了一个Provider
   
不过为了照顾使用ODBC的,也提供了一个ODBC的Provider
   
这样那些只提供ODBC的数据库也可以通过OleDb访问
   
不过这样效率就稍微低了(因为要经过两层么)
   
所以现在有些数据库会提供自己的Provider
再后来
   
MS说OleDb的接口太复杂了
    程序员也就调调QUERY
   
没必要搞这么复杂吧
    于是提出了ADO,ADO 通过在OleDb上面封装
   
简化了使用方法,程序员在操作数据库上总算是解放了
新世纪终于到来了
   
MS也发明了.NET,为了适应新世纪新潮流
    也提出了
ADO.NET

【转】OLEDB和ODBC以及ADO最形象的解释,布布扣,bubuko.com

时间: 2024-12-09 08:47:54

【转】OLEDB和ODBC以及ADO最形象的解释的相关文章

进程和线程的一个简单形象的解释

转眼暑假一过,2015年的校招即将开启大幕,身为计算机专业的朋友们,在面试中是不是经常会被问到一个问题:进程和线程的区别,今日偶然看到阮一峰的博客,他用一个很好的类比把他们解释的清晰易懂,会不会突然让大家有种豁然开朗的感觉呢? 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握,但下面的类比解释,是不是让你明白很多呢? 1.计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2.假定工厂的电力有限,一次只能供给一个车间使用.也就

ODBC、ADO

一.VC访问数据库的技术 1.ODBC --Open Database Connectivity微软开放式数据互联,一组用于访问和操作数据库的API,可以访问不同的数据库产品,但只能访问关系型数据库.MFC将这组API函数封装成ODBC类,使用前需要将不同的数据库设置为ODBC数据源. 2.DAO --基于ODBC的,目前已经被淘汰 3.OLE DB  --基于COM技术的,提供了一组用于访问和操作数据库的接口.既可以访问关系型又可以访问非关系型数据,性能也有了很大提高.缺点是学习难度大,对程序

OLEDB和ODBC的区别(优缺点)

ODBC是一种连接数据库的开放标准,OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的ASP页面里,ADO是位于OLEDB之上的应用程序. 你的ADO调用先被送到OLEDB,然后再交由ODBC处理 ODBC是一种连接数据库的开放标准. ODBC(OpenDataBase Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows OpenServices Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数

OLEDB和ODBC的区别

ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术.它实际上是ADO的前身.早期的数据库连接是非常困难的. 每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了. 也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物. 有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. OLEDB(对象链接和嵌入数据库)位于O

机器学习笔记:形象的解释神经网络激活函数的作用是什么?

此文转自知乎,哈工大NLPer 忆臻 原出处:https://zhuanlan.zhihu.com/p/25279356 查阅资料和学习,大家对神经网络中激活函数的作用主要集中下面这个观点: 激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题. 下面我分别从这个方面通过例子给出自己的理解~ @lee philip@颜沁睿俩位的回答已经非常好了,我举的例子也是来源于他们,在这里加入了自己的思考,更加详细的说了一下~ 开讲~ 首先我们有这个需求,就是二分类问题,如我要将下面的三角形和圆形点

C#入门分享(八)——LINQ

LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据.类似于SQL. 从技术角度而言,LINQ定义了大约40个查询操作符,如select.from.in.where以及order by(C#中).使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型. 经过了最近 20 年,面向对象编

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案

Atitit.跨语言数据库db  api兼容性 jdbc odbc ado oledb 增强方案 1. 跨语言db api兼容性..1 2. 目前访问数据库的接口很多.比较常用的jdbc odbc 以及c api (php用此接口),共约101个类+128个c函数1 2.1. Jdbc api数量  约60个类..java.sql包下面的..大概几百个方法函数吧..2 2.2. Odbc api数量::约78个,odbc是个非oo的api2 2.3. C api (mysql ): 约50个..

ODBC、OLEDB和ADO之间的关系

学习了.net视频之后,对里面涉及到的数据库连接部分中的一些概念表示很无语.网上很多相关资料,但除了网站不一样外,基本上内容都神一样的一致. 现在,我就通过结合看到的一些资料再加上自己的理解试图去解释一下,有不对的,还请大家指教! 看一张图: 看图中右半部分,我们先来了解一下ODBC这个概念. 1.ODBC: 要了解ODBC是什么,先了解一下数据库连接的相关知识.其实,在最开始连接数据库时,由于数据库种类繁多,各种数据库连接有不同的需求,这个时期,数据库连接主要依靠各种API函数来进行连接.而O

ODBC、OLEDB应用详解

ODBC: 基本概念 按照百度百科的解释,ODBC即为开放数据库互连(Open DataBase Connectivity)是微软公司开放服务结构中有关数据库的一个组成部分,他建立了一组规范,并且提供了一组岁数据库访问的标准API(应用程序接口).ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC.是微软提出的数据库访问接口标准. 简单来说ODBC就是一种连接数据库的开放标准. ODBC是应用程序和数据库系统之间的中间件.它通过使用相应应用平台上和所需数据库对应的驱动程