[发明专利]一种访问不同类型关系型数据库的方法无效
申请号: | 200910018621.1 | 申请日: | 2009-09-07 |
公开(公告)号: | CN101645074A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 孙立新;郑伟波;赵启杰 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 不同类型 关系 数据库 方法 | ||
技术领域
本发明涉及关系数据库领域,特别是涉及一种应用程序采用无差别方式访问多种不同类型、版本关系型数据库的方法。
背景技术
目前,关系型数据库存储是企业储存及数据应用的主流方式,流行的大型关系型数据库有Oracle、SQL Server、IBM DB2、SyBase、Informix等,而且每种数据库一般存在多个正在使用的并行版本(例如Oracle 9i、Oracle 10g)。众多的关系数据库类型都遵循或支持一致的SQL语言标准(如ANSI/ISO的SQL99、SQL92)。但各类数据库基于此标准扩展了一些非标准化的SQL,各类数据库的数据类型定义不统一,对于相同功能的实现,各类数据库提供的函数、系统命令等存在不一致的现象。甚至同一类型数据库的高、低版本之间在访问上也存在不一致的现象(例如对XML的支持)。
对于面向企业应用的软件产品,一般是数据密集型系统,其数据存储主要是基于关系型数据库。根据市场、客户的需求,需要同时支持多种类型的关系型数据库及版本,而上述数据库层面访问形式、方法上的差异,为企业应用在数据库层面的开发带来额外的复杂性和工作量。
如果能够屏蔽多种类型数据库及版本的差异,对于企业应用在数据库层面的开发提供统一的访问形式和方法,将有效的降低开发的复杂性,提高开发效率和质量,而且当需要支持一种新的关系型数据库时,对上层应用可以透明。
发明内容
本发明的目的是提供一种访问不同类型关系型数据库的方法。
本发明的目的是按以下方式实现的,通过分析、识别不同类型、版本关系型数据库的差异,针对差异进行封装:以组件形式向外提供了一致的编程访问接口,对SQL语句语法、各种数据库函数、命令等,统一调用标准和书写格式,屏蔽因不同类型、版本关系型数据库造成的差异;内部按照数据库类型及版本进行分别的针对性的实现。在屏蔽数据库类型、版本差异时,采用编程接口和SQL语法两种方法进行封装。两种方法的混合使用,既可达到屏蔽数据库类型、版本差异的效果,又可以使编程实现的复杂度降低
针对以上的问题解决方案,本发明公开的访问不同类型、版本的关系型数据库的统一方法,包括如下步骤:
1.接收获取“数据访问接口”的请求及“数据访问配置项标识”参数;
2.根据“数据访问配置项标识”获取相应配置项定义,根据配置项定义判断
3.对应的数据库类型及版本,创建实现了特定类型、版本数据库访问的对象,该对象实现了“数据访问接口”,将该对象以“数据访问接口”形式返回;
4.“数据访问接口”接收与特定数据库类型、版本无关的数据访问的方法调用请求及方法参数;
5.“数据访问接口”根据特定的方法调用请求,将与特定数据库类型、版本无关的请求转换为特定数据库类型、版本可执行的SQL语句。
6.将转换后的针对特定数据库类型、版本的SQL语句发送至相应的目标数据库。
进一步,数据库访问过程中包括如下后续执行步骤:
7.目标数据库执行所述的SQL语句,返回执行结果。
对于步骤1中所述的“数据访问接口”,是指封装数据库操作的统一编程接口,用以屏蔽各类数据库在编程调用方面的差异,定义了访问数据库的操作标准。此接口包含了一组用于执行数据库操作的属性和方法。
对于步骤1中所述的“数据访问配置项标识”,是基于XML的配置文件中的配置小节的标识,可用于唯一标记一个“数据访问配置项”。每一个“数据访问配置项”描述的内容包括:配置项标识、配置项名称、数据库类型、类型元数据、数据库连接信息。其中“类型元数据”用于程序动态加载实现了“数据访问接口”的特定类型、版本数据库访问的对象类型并创建对象的信息;其中“数据库连接信息”是用于创建“数据库会话”的连接字符串描述。
如在微软.NET平台下应用,其中类型元数据是指采用微软.NET平台的反射技术,动态加载.NET程序集和类型的描述信息,包括类型全称、程序集名称、版本、文化、公钥标记。其中数据库连接信息是基于微软公司ADO.NET技术对于各种数据库连接串的定义,对于不同类型的数据库具体的连接串信息不同,一般包括数据源、用户名、密码以及其他的可配置的连接参数。详见msdn中对于各种数据库连接串的具体描述。以上对于微软.NET平台的实现介绍,是为了便于理解,所述的.NET应用并不限定本发明的保护范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910018621.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:人体静脉红外扫描仪
- 下一篇:输变电系统中中压开关柜的电路结构