论文部分内容阅读
随着国内数据库技术的不断进步和数据库系统的广泛应用,数据库管理系统的ODBC标准符合度,渐渐成为衡量数据库管理系统质量和性能的重要标准。对数据库产品进行ODBC标准符合性测试,也已经成为了国产数据库进入市场应用之前的必经之路。进行ODBC标准符合性测试的目的,是检验数据库管理系统及其ODBC驱动程序对SQL标准和ODBC标准的符合度,是验证ODBC驱动程序所声明的SQL符合性等级和接口符合性等级的正确性和合理性。ODBC标准符合性测试通常由SQL符合性测试和接口符合性测试两部分组成。本文中所指的测试对象虚谷数据库是一款国产关系型数据库系统,其附属的ODBC驱动程序被命名为rhodbc。本文中所介绍的SQL符合性测试主要通过SQL语法支持性测试和SQLGetInfo函数符合性测试,检验虚谷数据库和rhodbc对SQL-92语法和语义的符合性水平。SQL语法支持性测试采用SQL Test Suite 6.0,使用交互式测试的方法,通过数据库查询分析器执行一系列特定SQL语句对数据库系统进行测试。SQLGetInfo函数符合性测试则直接通过使用测试工具ODBC Test,以特定参数集调用接口SQLGetInfo进行测试。接口符合性测试则是通过函数符合性测试、属性符合性测试和描述符域符合性测试,检验虚谷数据库和rhodbc对ODBC标准的符合度。其中,函数符合性测试采用QuikTest框架测试和ODBC Test直接测试等方法,对测试内容进行分割测试。并且,通过对rhodbc源代码进行修改,新增并实现了若干尚未支持的ODBC标准函数,完善并规范了若干接口的功能,最终提高了rhodbc的接口符合度。通过SQL符合性测试,发现虚谷数据库尚未对某些SQL语法特性提供支持,也就是说,rhodbc所声明的SQL符合性等级并不合理,因此,数据库厂商需要根据测试报告对虚谷数据库进行进一步的完善。在接口符合性测试过程中,通过对部分函数功能的完善,提高了rhodbc的接口符合性水平,从而确定了rhodbc所声明的接口符合性等级的正确性和合理性。