18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 开放式数据库互连规范(数据库)

开放式数据库互连规范(数据库)

时间:2022-12-31 02:30:02 | 来源:信息时代

时间:2022-12-31 02:30:02 来源:信息时代

    开放式数据库互连规范 : 是微软所倡导的一种开放的、被业界广泛接受的、用于规范访问数据库的应用程序编程接口。它以SQL Access Group、X/Open和ISO的SQL/CLI标准为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。
1992年微软首次发布了ODBC 1.0版。后来微软决定把ODBC融入X/Open和ISO的SQL/CLI标准中,1995年,SQL/CLI正式成为了SQL标准的一部分。随后,微软发布了ODBC 3.0版。ODBC发展到3.0已经很成熟了,也得到了产品的广泛支持。SQL/CLI和微软的ODBC之间存在一些细节的差异,而且多数数据库产品在实现时主要考虑的还是符合ODBC规范而不是SQL/CLI标准。
ODBC规范定义了访问SQL数据库的过程性API。ODBC的实现环境中包括一个或多个应用程序、驱动程序管理器(driver manager)、一个或多个针对不同数据源的ODBC驱动程序。虽然ODBC最初是针对关系数据库提出的,目前也存在很多针对电子表格、文本文件甚至XML文件等非结构化或半结构化数据源的驱动程序。ODBC驱动程序可以是在DBMS已有客户端函数库的基础上实现,也可以通过实现DBMS特有的通信协议客户端来构造。
微软随Windows发布了它的ODBC驱动程序管理器,也会随SQL Server、Access等产品发布其针对不同数据源的ODBC驱动程序。在非Windows操作系统上,常见的驱动程序管理器有iODBC和unixODBC,它们也实现了ODBC标准规定的多数内容。ODBC的总体结构包含以下四个组件:
(1)应用程序: 它执行处理并调用ODBC API函数,以提交SQL语句并检索结果。
(2)驱动程序管理器: 它根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传递给驱动程序。
(3)驱动程序: 它处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致。
(4)数据源: 它包括用户要访问的数据及其相关的操作系统、DBMS及用于访问DBMS的网络平台。
针对不同的DBMS产品,需要实现不同的ODBC驱动程序,这些驱动程序实现了ODBC API中的函数。驱动程序的具体存在形式取决于操作系统。例如,在Windows操作系统上,驱动程序是动态链接库(DLL)。
用户可以通过添加一个ODBC驱动程序,在应用程序和指定的DBMS之间进行交互。驱动程序的使用使得应用程序从具体的数据库调用中隔离开来,以独立于DBMS的方式访问数据。这是因为驱动程序运行时才加载,所以用户只需要增加一个新的驱动程序来访问新的DBMS,而不用重新编译或重新链接应用程序。
虽然驱动程序的使用解决了同时访问多个DBMS的问题,但是应用程序实现起来还是有些复杂。为此,ODBC规范提出了Driver Manager,用来管理应用程序与驱动程序之间的通信。Driver Manager实现了所有的ODBC函数,多数只是把函数调用从应用程序传递给相应驱动程序。应用程序只加载和卸载Driver Manager,而Driver Manager负责加载和卸载驱动程序: 当应用程序要使用一个特殊的驱动程序时,它调用Driver Manager中的连接函数,并指明一个数据源名。Driver Manager根据数据源名查询数据源信息,然后加载驱动程序,并调用驱动程序中的连接函数,连接到数据源。
除了标准调用接口,ODBC规定了SQL作为数据库访问语言,并对支持的SQL语法做了一定程度的规范化。这个SQL语法基于X/Open CAE规范。应用程序可以使用ODBC规范后的语法或具体DBMS的语法来提交语句。如果语句使用了ODBC规定的语法转义序列,驱动程序会先对它进行转换,然后发送到数据源。
ODBC API接口符合性级别分为三级: 核心级(core level)、第一级(level 1)和第二级(level 2)。为了达到某个级别,驱动程序必须满足该级别以及较低级别的所有要求。符合性级别主要根据对ODBC函数以及特性的支持程度来划分。驱动程序必须支持特定函数的部分或所有调用方式、设置特定的属性和描述符字段,才能实现对某个特性的支持。所有ODBC驱动程序必须至少满足核心级的接口符合性。核心级的特性与ISO CLI规范中定义的特性以及X/Open CLI规范中定义的必选特性是对应的。Level 1的接口符合性包括核心级功能和附加的9个特性(编号从101到109)。例如:特性109是事务支持。Level 2的接口符合性包括Level 1级的功能和附加的11个特性(编号为201~211)。
除了接口符合性,ODBC还定义了SQL语法的符合性。SQLGetInfo函数返回的SQL_SQL_CONFORMANCE信息对应了SQL92标准定义的五种符合性级别(Entry,FIPS,Transitional,Intermediate,Full),它表明了驱动程序对SQL92的支持程度。所有的ODBC驱动程序必须支持ODBC定义的最小SQL语法集合,它是SQL92入门级(Entry)的一个子集。

关键词:数据,规范

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭