笔记:ODBC、OLE DB和ADO

来源:互联网 发布:阿里云服务器密码修改 编辑:程序博客网 时间:2024/05/18 17:02

数据访问 (Data Access),是应用程序连结到数据源 (Data Source) 访问数据的一种行为 (Behavior)。在大多数的应用程序中,经常会需要使用到数据,而这些数据可能来自很多不同类型的来源。应用程序要么将数据经过一层 (或多层) 中介代码或中间件 (Middleware) 存入数据源,要么从数据源取出数据,在应用程序中处理。

 

早期访问数据库接口

ODBC诞生前,程序员如果要开发数据库应用程序,有两种访问数据库的方式:

1)使用数据库厂商随数据库产品一同发布的一些工具集来访问数据库;

2)在程序中使用嵌入式SQL来访问数据库。

 

访问示意图:

 

数据库应用程序--------数据库专用API--------数据源

  

ODBC

由于缺乏一个统一的编程接口,数据库应用程序和数据库绑定在一起了,如果更换了其他数据库,那么程序员必需修改大量的访问数据库的代码。

 

在这样的背景下,微软于1992年发布了ODBC的数据库访问接口规范。

 

ODBCOpen Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问DBMSDatabase Management System)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBCODBC的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。

 

访问示意图:

 

数据库应用程序--------ODBCODBC驱动程序)--------数据源

 

OLE DB

ODBC虽然提供了最大的独立性和开发性,可是存在一个局限:只能访问关系型数据库。随着COM技术的成熟和广泛应用,微软推出了OLE DB,它被设计成为ODBC的一种高级替代者和继承者。

 

OLE DBObject Linking and Embedding, Database,对象链接嵌入数据库,有时亦写作OLEDBOLE-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--------数据源

原创粉丝点击