ODBC

✍ dations ◷ 2025-07-20 16:29:01 #数据库,数据库API

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的运用形态通常是由应用程序经过一个称之为ODBC管理器的工具,创建一个DSN,指明需要调用的ODBC驱动程序,从而访问对应的数据库。对于用户的应用程序而言,ODBC驱动程序是相对不可见的。用户只需要在ODBC管理器中配置相应的数据库的数据源信息,并登录相应的ODBC驱动程序即可。DSN分为三种:

也可以用连接字符串而不需要事先创建DSN,例如

connstr="DRIVER={SQL SERVER};SERVER=servername;UID=xyz;PWD=xxx"connstr="DRIVER={Microsoft Access Driver};SERVER=D:\abc\defg.mdb"

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

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

相关

  • 菊花台菊花台,位于中国江苏省南京市市区西南雨花台区安德门外,是一座海拔不足一百米的小山丘。1947年起为太平洋战争中中国驻东南亚外交使节九烈士墓所在地。菊花台一带在六朝时称“
  • 法布尔让-亨利·卡西米尔·法布尔(法语:Jean-Henri Casimir Fabre,1823年12月22日-1915年10月11日),法国博物学家、昆虫学家、科普作家,以《昆虫学回忆录》(Souvenirs entomologiques,或译
  • C值C值(英语:C-value)是指真核生物细胞中,单倍细胞核(受精卵或二倍体体细胞中的一半量)里所拥有的DNA含量。有时候C值和基因组大小两个用词可替换使用,不过对于多倍体而言,C值可能是指
  • 币斑病菌币斑病,在刈割较低的冷地型草的果岭上会出现小的圆形币斑,这些斑点会逐渐凹陷。币斑病一般是很小的枯点或者是直径小于5厘米的圆形枯斑。这些小的圆斑在病情严重时也可能会凝
  • 中国北方中国北方与中国南方是指中国内部的两大块地理区域,常以淮河或长江为界,将中国分为南部和北部。进入20世纪后,中国地理学中,通常以秦岭-淮河线为自然地理分界线。北方的地域范围
  • 天体演化学天体演化学(cosmogony,又译为宇宙进化论)是指各种关于天体及宇宙起源与演化的学说、理论或宗教教义等。该词来自希腊语的κοσμογονία (或κοσμογενία),由κόσ
  • 近藤周助近藤周助(こんどう しゅうすけ,1792年-1867年),天然理心流第三代掌门人。新撰组局长近藤勇的养父。原姓嵨崎。幼名关五郎、周平。后改名为近藤周斋。讳邦武。原为武州多摩郡小山
  • 勒内-罗贝尔·卡弗利耶·德·拉萨勒勒内-罗贝尔·卡弗利耶·德·拉萨勒(法语:René-Robert Cavelier, Sieur de La Salle),或称罗伯特·德·拉萨勒(1643年11月22日-1687年3月19日)是一个法国探险家。他探索了五大湖地
  • 苏德战争轴心国 纳粹德国 意大利王国(至1943年) 匈牙利王国 罗马尼亚王国(至1944年) 保加里亚第三帝国(至1944年)同盟国 苏联 波兰(英语:Polish Armed Forces in the East) 南斯拉夫(自1
  • 鹌鹑蛋鹌鹑蛋,是鹌鹑(学名:Coturnix coturnix)所产的卵,其外有一层蛋壳,表面有棕褐色斑点,内则有气室、卵白及卵黄部分,它富含各类营养,是人类常食用的食品之一。然而,一只鹌鹑蛋的胆固醇和