笔记:ODBC、OLE DB和ADO
来源:互联网 发布:阿里云服务器密码修改 编辑:程序博客网 时间:2024/05/18 17:02
数据访问 (Data Access),是应用程序连结到数据源 (Data Source) 访问数据的一种行为 (Behavior)。在大多数的应用程序中,经常会需要使用到数据,而这些数据可能来自很多不同类型的来源。应用程序要么将数据经过一层 (或多层) 中介代码或中间件 (Middleware) 存入数据源,要么从数据源取出数据,在应用程序中处理。
早期访问数据库接口
在ODBC诞生前,程序员如果要开发数据库应用程序,有两种访问数据库的方式:
(1)使用数据库厂商随数据库产品一同发布的一些工具集来访问数据库;
(2)在程序中使用嵌入式SQL来访问数据库。
访问示意图:
数据库应用程序--------数据库专用API--------数据源
ODBC
由于缺乏一个统一的编程接口,数据库应用程序和数据库绑定在一起了,如果更换了其他数据库,那么程序员必需修改大量的访问数据库的代码。
在这样的背景下,微软于1992年发布了ODBC的数据库访问接口规范。
ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问DBMS(Database Management System)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。
访问示意图:
数据库应用程序--------ODBC(ODBC驱动程序)--------数据源
OLE DB
ODBC虽然提供了最大的独立性和开发性,可是存在一个局限:只能访问关系型数据库。随着COM技术的成熟和广泛应用,微软推出了OLE DB,它被设计成为ODBC的一种高级替代者和继承者。
OLE DB(Object Linking and Embedding, Database,对象链接嵌入数据库,有时亦写作OLEDB或OLE-DB)是微软为以统一方式访问不同类型的数据存储设计的一种应用程序接口,是一组用组件对象模型(COM)实现的接口。
ODBC是一个跨平台的规范。而OLE DB只能在基于微软 Windows 应用平台上使用。
OLE DB 也是 ADO 以及 ADO.NET 的核心基础,而这些 API 目前也被广为用在微软 Windows 应用平台中。
访问示意图:
数据库应用程序--------OLE DB --------数据源
ADO
微软1996年发布了ADO。
ADO (ActiveX Data Objects) 是一个用于访问数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。
ADO组件的使用需要利用支持COM的高级语言,例如ASP中的VBScript或者Visual Basic。在新的编程框架.NET Framework中,微软也提供了一个面向Internet的版本的ADO,称为ADO.NET。其对象模型和传统ADO差别很大。
访问示意图:
数据库应用程序--------ADO--------OLE DB--------数据源
- 笔记:ODBC、OLE DB和ADO
- ADO ,OLE DB ,ODBC
- ODBC, OLE DB, ADO
- ADO、OLE DB、ODBC 关系
- OLE DB、ODBC 和 Oracle 连接池 (ADO.NET)
- OLE DB, ADO, ODBC 区别与联系
- ODBC、OLE DB、 ADO的区别
- ODBC、OLE DB、 ADO的区别
- ODBC、OLE DB、 ADO的区别
- ADO、DAO、ODBC、OLE DB 区别
- ODBC、OLE DB、 ADO的区别
- ODBC、OLE DB、 ADO的区别
- ODBC,OLE-DB,ADO.NET区别
- 什么是 MDAC、 DA SDK、 ODBC、 OLE DB、 ADO、 RDS,和 ADO/MD?
- 简单了解ADO.NET、ADO、OLE DB、ODBC
- ADO、DAO、ODBC、RAO和OLE DB等概念及异同
- ado可以访问odbc数据源和OLE DB数据提供者(Provider)
- 什么时候应该使用OLE-DB,ADO或ODBC
- 体验CSDN博客
- 一个带停止按钮的计数时钟
- C++网络编程卷1、卷2概述
- JAVA NIO异步通信框架MINA选型和使用的几个细节(概述入门,UDP, 心跳)
- Sting和StringBuilder的区别
- 笔记:ODBC、OLE DB和ADO
- 粗略统计eclipse中代码行数
- 学Win32 汇编[1]: 选择编辑与编译工具
- 内存基本
- REST小结
- centos FTP服务器的架设和配置方案(vsftpd)
- This article explains how to use icons with QListView
- 1111
- Google.com.hk时常进不了