18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > ODBC符合性测试(数据库)

ODBC符合性测试(数据库)

时间:2022-11-04 00:30:01 | 来源:信息时代

时间:2022-11-04 00:30:01 来源:信息时代

    ODBC符合性测试 : 根据ODBC标准中对ODBC SQL语法符合性和ODBC接口符合性的要求,测试ODBC驱动程序的功能与ODBC标准的符合程度。
开放式数据库互联(open database connectivity,ODBC)是Microsoft公司开发的一套数据库应用程序接口规范,它以X/Open和ISO/IEC的调用级接口(call-level interface,CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。
1991年11月,Microsoft首次发布了ODBC标准。1992年,Microsoft、Sybase和Digital共同制定并发表了全面支持SQL标准的ODBC 2.0数据库访问接口,目前最新版本为3.51。
ODBC标准符合性包括两个方面:
1. ODBC SQL语法符合性
ODBC SQL语法符合性分为最小符合性、核心符合性和扩展符合性三个级别,ODBC驱动程序必须满足最小符合性。ODBC SQL语法符合性测试主要测试ODBC驱动程序支持的SQL语法及数据类型与SQL标准的符合性,详细内容如下:
(1)最小级:①数据定义语言(DDL): CREATE TABLE和DROP TABLE;②数据操纵语言(DML):简单的INSERT,UPDATE SEARCHED和DELETE SEARCHED; ③ 表达式: 简单表达式(例如,A>B+C);④数据类型:CHAR,VARCHAR,LONG VARCHAR。
(2)核心级: ①最小级的SQL语法和数据类型; ②数据定义语言: ALTER TABLE,CREATE INDEX,DROP INDEX,CREATE VIEW,DROP VIEW,GRANT和REVOKE;③数据操纵语言:全部形式的SELECT语句;④表达式:子查询和集合函数,如SUM和MIN;⑤数据类型:DECIMAL,NUMERIC,SMALLINT,INTEGER,REAL,FLOAT,DOUBLE PRECISION。
(3)扩展级:①最小级和核心级的SQL语法和数据类型; ②数据操纵语言: OUTER JOINS,POSITIONED UPDATE,POSITIONED DELETE,SELECT FOR UPDATE,UNION;③表达式:标量函数,如 SUBSTRING,ABS,DATE,TIME,TIMESTAMP LITERALS;④数据类型: BIT,TINYINT,BIGINT,BINARY,VARBINARY,LONG VARBINARY,DATE,TIME,TIME STAMP; ⑤Batch SQL statements; ⑥存储过程调用。
2. ODBC接口符合性
ODBC 3.x的接口符合性包括:函数符合性(function conformance)、属性符合性(attribute conformance)和描述符域符合性(descriptor field conformance)等三部分内容。
ODBC定义了三个符合性级别: 核心级、一级和二级,ODBC驱动程序至少满足核心级的要求。ODBC 3.x采用功能特性来定义符合性等级,即规定了完成相应等级功能特性所必需的函数、属性和描述符域的集合。核心级功能特性涉及49个函数、26个属性、33个描述符域; 一级新增功能特性涉及7个函数、12个属性、5个描述符域; 二级新增功能特性涉及4个函数、17个属性、4个描述符域。
ODBC 3.x接口符合性测试的主要内容有:
(1)核心级: 分配和释放句柄(环境语柄、连接语柄、语句语柄); 绑定结果集中的列; 输入参数动态绑定,包括参数数组; 设定绑定偏移量(offset);使用SQLParamData与SQLPutData在运行时给参数赋值; 游标与游标名字管理;获取结果集的元数据信息; 查询数据字典(获取列信息、数据类型信息、表的索引和统计信息、表的基本信息等); 管理数据源和连接,获得驱动程序信息; 准备和执行SQL语句;前向获取结果集中的一行或多行数据; 部分获取列中的数据; 获取与设置连接、环境、语句属性;获取与设置描述符域; 获取诊断信息; 获取驱动程序能力的概要信息(支持的函数、数据类型等);使用SQLEndTran进行事务操作(不支持回滚);使用SQLCancel取消正在执行的数据会话(不支持异步方式);使用SQLSpecialColumns获取表中行标识信息。
(2)一级:具有核心级的功能;支持表和视图的两级命名法(two-part naming),指定所属模式; 异步函数调用;支持可滚动游标访问结果集(SQL_FETCH_ABSOLUTE/ SQL_FETCH_NEXT/SQL_FETCH_PRIOR/SQL_FETCH_FIRST/SQL_FE TCH_LAST);获取表的主键信息; 调用存储过程,获取存储过程元数据;使用SQLBrowseConnect构造数据库连接并返回连接串; 使用ODBC函数替代某些SQL语句操作(如使用SQLSetPos进行数据的定位与刷新); 访问由存储过程或批处理方式产生的多个结果集; 使用SQLEndTran进行事务操作(支持回滚)。
(3)二级:具有核心级和一级的功能;支持表和视图的三级命名法;使用SQLDescribeParam描述动态参数; 可以调用含有输入参数、输出参数、输入输出参数、返回结果的存储过程;支持书签方式获取或更新数据; 获取高级数据字典信息(列访问权限、外键信息、表访问权限等);使用ODBC函数替代SQL语句执行操作(如调用SQLBulkOperations函数实现批量数据操作):针对指定的语句,进行ODBC函数异步调用;使用SQLSpecialColumns获取行版本信息;语句属性SQL_ATTR_CONCURRENCY除SQL_CONCUR_READ_ONLY之外,还要至少支持下列的取值之一: SQL_CONCUR_ROWVER、SQL_CONCUR_VALUES、SQL_CONCUR_LOCK等; 设置登录和查询超时; 改变隔离级别的缺省设置,允许在串行化级别执行事务。
这些功能要求与ODBC 2.x标准相比有所不同,例如ODBC 3.x核心级包括ODBC 2.x的一级符合性所要求实现的某些功能(详情参见《Microsoft ODBC Programmer's Reference》中的“Interface Conformance Levels”相关章节)。

74
73
25
news

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

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