本页使用了标题或全文手工转换

ODBC

维基百科,自由的百科全书
跳转至: 导航搜索

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

历史[编辑]

在ODBC诞生之前,如果要开发数据库应用程序,则必须要使用数据库厂商随数据库产品一同发布的一些工具集来访问数据库,或者在程序中使用嵌入式SQL来访问数据库。当时,对于访问数据库的方法,缺乏一个基于C语言的统一编程接口。在这种背景下,微软于1992年发表了ODBC。之后,X/Open组织以及ISO标准化组织基于ODBC 3.0的规范,进一步进行了标准化,于1995年发表了SQL/CLI标准。该标准已经成为了SQL标准的一部分。

版本历史:

  • ODBC 1.0: 发表于1992年9月
  • ODBC 2.0: 发表于1994年
  • ODBC 3.0: 发表于1995年
  • ODBC 3.5: 发表于1997年
  • ODBC 3.8: 發表於2009年,和 Windows 7一同發表[1]

实现[编辑]

ODBC的运用形态通常是由应用程序经过一个称之为ODBC管理器的工具,间接调用ODBC驱动程序,从而访问对应的数据库。对于用户的应用程序而言,ODBC驱动程序是相对不可见的。用户只需要在ODBC管理器中配置相应的数据库的数据源信息,并登录相应的ODBC驱动程序即可。

各个数据库厂商通常都为自己的数据库实现了ODBC驱动程序。从Oracle,DB2,SQL Server到微软的Access数据库,都实现了面向各自数据库产品的数据驱动程序。

而对于ODBC管理器,目前主要存在以下几种实现:

Microsoft ODBC
微软提供的一个实现,目前在大部分Windows系统上可以找到它。
unixODBC
unixODBC项目为非Windows操作系统(如各版本的Linux, Unix以及Mac OS)提供的一个实现。unixODBC的实现涵盖了ODBC 3.0中的所有API规范,并且提供了一个类似于Microsoft ODBC那样的GUI形式的配置界面供用户进行数据源的配置。unixODBC的代码在GPL协议下公开,目前该项目是由Easysoft的Nick Gorham进行管理。unixODBC现在已经是很多Linux发行版的标准安装模式下的一个必要组件。
iODBC
iODBC项目(Independent Open DataBase Connectivity)的目标是提供一个平台无关的实现,该项目目前由Openlink Software进行管理。其代码是在LGPL协议以及BSD协议下发布。苹果公司从Mac OS X v10.2时代开始,便将iODBC绑定至Mac OS操作系统中。

相關[编辑]

  • ADO(ActiveX Data Objects)
  • MDAC(Microsoft Data Access Components)
  • JDBC(Java Database Connectivity)

外部連結[编辑]

  1. ^ What's New in ODBC 3.8. Microsoft. [2010-01-13]. "Windows 7 includes an updated version of ODBC, ODBC 3.8." 
数据库管理系统(DBMS) 查看 · 讨论 · 编辑

概念
数据库 · 数据模型 · 数据库存储结构英语Database storage structures · 关系 (数据库) · 关系模型 · 分布式数据库 · ACID ( 原子性英语Atomicity (database systems) · 一致性· 隔離性· 持久性英语Durability (database systems) ) · Null值
关系数据库 · 关系模型 · 数据库规范化 · 數據庫完整性 · 實體完整性 · 參照完整性英语Referential integrity · 关系数据库管理系统 
主键 · 外键 · 代理键 · 超键 · 候选键 

数据库组件
触发器 · 视图 · 数据库表 · 指标 (数据库) · 事务日志英语Transaction log · 数据库事务 · 并发控制 · 乐观锁 · 悲观锁 · 数据库索引 
存储程序 · 資料庫分割

SQL
分类: 数据查询语言(DQL) - 資料定義語言(DDL) - 資料操縱語言(DML) - 資料控制語言(DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

数据库管理系统的实现

实现类型
关系数据库 · 檔案型資料庫 · Deductive · 維度化資料庫 · 階層式 · 圖形資料庫 · 对象数据库 · 物件關聯式資料庫 · Temporal · XML資料庫

数据库产品
对象型对比) · 关系型对比

数据库组件
数据查询语言 · 查詢最佳化器 · 查詢計畫 · 嵌入式SQL · ODBC · JDBC · OLE DB