 |
|
|
什么是ODBC技术
|
|
|
|
|
|
|
什么是ODBC技术
发布者:
rain 发布日期:2008/7/19
浏览次数:3616
次
|
|
|
|
|
|
的规程,对于Oracle,它是ORA6WIN.DLL,对于SQL Server,它是SQLSRVR.DLL。 @@12W03501.GIF;图2 ODBC体系结构@@ 下面我们详细介绍各层的功能。 1. 应用程序层(Application) 使用ODBC接口的应用程序可执行以下任务: ①请求与数据源的连接和会话(SQLConnect); ②向数据源发送SQL请求(SQLExecDirct或SQLExecute); ③对SQL请求的结果定义存储区和数据格式; ④请求结果; ⑤处理错误; ⑥如果需要,把结果返回给用户; ⑦对事务进行控制,请求执行或回退操作(SQLTransact); ⑧终止对数据源的连接(SQLDisconnect)。 2. 驱动程序管理器(Driver Manager) 由微软提供的驱动程序管理器是带有输入库的动态连接库ODBC.DLL,其主要目的是装入驱动程序,此外还执行以下工作: ①处理几个ODBC初始化调用; ②为每一个驱动程序提供ODBC函数入口点; ③为ODBC调用提供参数和次序验证。 3. 驱动程序(Driver) 驱动程序是实现ODBC函数和数据源交互的DLL,当应用程序调用SQL Connect或者SQLDriver Connect函数时,驱动程序管理器装入相应的驱动程序,它对来自应用程序的ODBC函数调用进行应答,按照其要求执行以下任务: ①建立与数据源的连接; ②向数据源提交请求; ③在应用程序需求时,转换数据格式; ④返回结果给应用程序; ⑤将运行错误格式化为标准代码返回; ⑥在需要时说明和处理光标。 以上这些功能都是对应用程序层功能的具体实现。驱动程序的配置方式可以划分为以下两种。 (1)单层次(single-tier) 这种方式下,驱动程序要处理ODBC调用SQL语句,并直接操纵数据库,因此具有数据存取功能。这种配置最常见的是同一台微机之上异种数据库通过ODBC存取,如在Powerbuilder中存取XBase、Excel、Paradox等数据文件,如图3所示。@@12W03502.GIF;图3 一层配置示意图@@ (2)多层次(multiple-tier) 这种配置中驱动程序仅仅处理ODBC调用,而将SQL语句交给服务器执行,然后返回结果。这种情况往往是应用程序、驱动程序管理器、驱动程序驻留在客户机端,而数据源和数据存取功能放在服务器端。譬如用Foxpro或Excel存取SQL Server或Oracle上的数据,如图4所示。 @@12W03503.GIF;图4 二层配置示意图@@ 有时在以上两者之间加上网关以解决通信协议的转换等问题,这时驱动程序要将请求先传送给网关,如访问DEC RDB和IBM AS/400时的配置,如图5所示。 @@12W03504.GIF;图5 三层配置示意图@@ 4. 数据源数据源由用户想要存取的数据和它相关的操作系统、DBMS及网络环境组成。 四、一致性级别 从应用程序观点来看,最理想的情况是每个数据源和驱动程序都支持同一套ODBC函数调用和SQL语句。但是由于形形色色的DBMS在实现上有很大的差异,它们所依赖的系统和环境也各不相同,在对ODBC支持的程度上就不一致。一致性级别(Conformance Levels)建立了对众多功能的标准划分,为应用程序和驱动程序提供帮助和选择的依据。它划定了驱动程序所支持的ODBC函数和SQL语句的范围,我们可以用SQLGetInfo、SQLGetFunctions、SQLTypeInfo三个函数获知驱动程序所支持的功能集。ODBC从API和SQL语法两方面划分级别。 1. API的一致性 ODBC将函数调用划分为三级。 (1)核心API 它包括了与SAG的CLI相匹配的基本功能,包括:分配与释放环境、连接及语句句柄;连接到数据源;准备并执行SQL语句或立即执行SQL语句;为SQL语句和结果列中的参数分配存储器;从结果中检索数据,检索结果的信息;提交和撤消事务处理;检索错误信息。 (2)一级API 它包括了核心API的全部功能,比如用特定驱动程序的对话框连接到数据源;设置和查询语句值和连接选项;送部分或全部参数值;检索部分和全部结果;检索目录信息;检索关于驱动程序和数据源的信息。 (3)二级API 其功能包括核心和一级API的全部功能;浏览可获得的连接和可获得的数据源列表;发送参数值数组,检索结果数组;检索参数个数及参数描述;应用可卷动的光标;检索SQL语句和本机表格;检索各种目录信息;调用转换DLL。 2. SQL语法的一致性级别 从SQL方面可划分为最小的
|
| 常见问题 | 我要留言 | 添加到收藏 |
|
|
|
|
|
|