数据库兼容装置制造方法及图纸

技术编号:15289787 阅读:59 留言:0更新日期:2017-05-10 16:50
本发明专利技术提供一种数据库兼容装置,应用于计算机设备。所述计算机设备存储有数据库、通用存储函数库及数据库类型与所述通用存储函数库部署方式对应关系。所述装置包括:接收模块,用于接收待兼容的数据库;判定模块,用于判定待兼容的数据库类型;获取模块,用于获取与所述数据库类型对应的部署方式及通用存储函数库;部署模块,用于将所述通用存储函数库采用与所述数据库类型对应的部署方式部署到所述待兼容的数据库中。本发明专利技术能够解决现有技术中需要根据不同数据库的不同存储函数而开发多套数据操纵语言的技术问题,提高了应用程序的开发效率和兼容性。

Database compatible device

The invention provides a database compatible device. The computer device stores the corresponding relationship between the database, the general storage function library and the database type and the general storage function library deployment mode. The device comprises a receiving module, for receiving the compatible database; judging module for judging to be compatible with the type of database; obtaining module for obtaining corresponding to the type of database deployment and general storage function library; deployment module for general storage library the use corresponding to the type of database the deployment of deployment to the compatible database. The invention can solve the technical problems that the prior art needs to develop a plurality of data manipulation languages according to different storage functions of different databases, and improves the development efficiency and compatibility of the application program.

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种数据库兼容装置
技术介绍
为了满足不同企业的要求,在应用程序软件设计时需要兼顾数据库的兼容性和可移植性。由于不同数据库中内置存储函数、系统表和SQL语法等的不同,为了满足业务需求,很多应用程序需要开发多套数据操纵语言,这使得应用程序开发的效率、可维护性和兼容性降低。现有技术中提供的方法支持的数据库和存储函数很少,并且由于各数据库中均存在内置存储函数,因而现有技术的解决方案依然不能解决数据库通用性和兼容性差的问题。
技术实现思路
为了克服现有技术中的上述不足,本专利技术目的在于提供一种数据库兼容装置,其能够解决现有技术中需要根据不同数据库的不同存储函数而开发多套数据操纵语言的技术问题,提高了应用程序的开发效率和兼容性。为了实现上述目的,本专利技术较佳实施例采用的技术方案如下:本专利技术较佳实施例提供一种数据库兼容装置,应用于计算机设备。所述计算机设备存储有数据库、通用存储函数库及数据库类型与所述通用存储函数库部署方式对应关系。所述装置包括:接收模块,用于接收待兼容的数据库;判定模块,用于判定待兼容的数据库类型,所述数据库类型包括mysql数据库、oracle数据库、sqlserver数据库、postgreSQL数据库、达梦数据库、人大金仓数据库、神通数据库、derby数据库或者sqlite数据库;获取模块,用于获取与所述数据库类型对应的部署方式及通用存储函数库;部署模块,用于将所述通用存储函数库采用与所述数据库类型对应的部署方式部署到所述待兼容的数据库中。在本专利技术较佳实施例中,所述装置还包括:创建模块,用于创建所述通用存储函数库;所述创建模块包括:样本获取子模块,用于获取需要兼容的多个样本数据库,每个样本数据库包括有内置存储函数集;分类子模块,用于基于内置存储函数集中各内置存储函数实现的功能对所述内置存储函数进行分类,得到不同类别的内置存储函数;合并子模块,用于将各样本数据库中相同类别的内置存储函数进行合并,得到实现同一功能的内置存储函数集;处理子模块,用于将各个功能的内置存储函数集基于一预设种类数据库对应的功能实现规则进行处理,得到通用存储函数库。在本专利技术较佳实施例中,所述创建模块还包括:函数获取子模块,用于获取各个数据库对应的内置存储函数;对比子模块,用于将各个数据库对应的内置存储函数与所述通用存储函数库进行对比,查找各个数据库中不存在的存储函数,或者功能、格式与所述通用存储函数库不同的存储函数;添加子模块,用于响应对查找到的存储函数进行开发的操作,将开发后的所述存储函数添加到所述通用存储函数库中。在本专利技术较佳实施例中:所述不同类别的函数包括:数学函数、字符串函数、日期与时间函数、判断函数、聚合函数、加解密函数或转换函数中的至少一种及多种的自由组合。在本专利技术较佳实施例中,所述合并子模块将各样本数据库中相同类别的内置存储函数进行合并,得到实现同一功能的内置存储函数集的方式包括:将各个数据库中相同类别内置存储函数的名字、参数、参数类型和返回值类型进行整合,得到实现同一功能的内置存储函数集。在本专利技术较佳实施例中,所述处理子模块将各个功能的内置存储函数集基于一预设种类数据库对应的功能实现规则进行处理,得到该预设种类数据库的通用存储函数库的方式包括:确定通用存储函数库的名字;确定通用存储函数库的参数类型及返回值类型;根据所述通用存储函数库的名字、所述通用存储函数库的参数类型及返回值类型确定所述通用存储函数库。在本专利技术较佳实施例中,所述确定通用存储函数库的名字的方式包括:根据各个数据库中的内置存储函数的功能和/或格式确定通用存储函数库的名字。在本专利技术较佳实施例中,所述根据各个数据库中的内置存储函数的功能和/或格式确定通用存储函数库的名字的方式包括:当各个数据库中同一内置存储函数的功能与格式相同时,所述通用存储函数库的名字不变;当一部分数据库中同一内置存储函数功能与格式相同,另一部分数据库中不存在所述内置存储函数时,所述通用存储函数库的名字与所述内置存储函数的名字相同;当各个数据库中存在同一内置存储函数,但是所述内置存储函数的功能或格式不同时,重新定义所述通用存储函数库名字;当各个数据库中的不同内置存储函数功能相同时,所述通用存储函数库名字按照通用格式定义;当各个数据库中不存在同一功能的内置存储函数时,所述通用存储函数库为数据库的关键字或保留字之外的任意自定义名字。在本专利技术较佳实施例中,所述确定通用存储函数库的参数类型及返回值类型的方式包括:响应基于预设数据库对通用存储函数库的参数类型和返回值类型进行设计的操作;根据确定的通用存储函数库的参数类型和返回值类型,通过通用类型转换函数对未经过设计的参数类型和返回值类型进行转换。在本专利技术较佳实施例中,所述部署模块包括:通用存储函数库应用子模块,用于通过所述通用存储函数库的配置文件获取所述待兼容的数据库类型,执行与所述数据库类型对应的脚本将所述通用存储函数库应用到所述数据库中,其中,所述配置文件包括用于配置连接数据库所需的数据库连接参数信息,所述参数信息包括url、driverClassName、username以及password;第一执行子模块,用于当所述数据库为mysql数据库、oracle数据库、sqlserver数据库、postgreSQL数据库、达梦数据库、人大金仓数据库或神通数据库时,所述通用存储函数库以sql脚本的形式执行到对应的数据库中;第二执行子模块,用于当所述数据库类型为derby数据库时,所述通用存储函数库在所述数据库中为jar包和sql脚本,则引入所述jar包,并将所述sql脚本执行到对应的数据库中;第三执行子模块,用于当所述数据库类型为sqlite数据库时,所述通用存储函数库在所述数据库中为编译后的库文件,通过引用所述库文件执行到对应的应用程序中。相对于现有技术而言,本专利技术具有以下有益效果:本专利技术提供的数据库兼容装置,通过对所述通用存储函数库的开发,只需要完成一套数据操纵语言就可以兼容不同的数据库环境,提高了应用程序的开发效率和兼容性。即使在业务逻辑比较复杂,需要添加新的通用存储函数库时,只需要在各数据库中添加所述通用存储函数库即可,具有良好的扩展性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术较佳实施例提供的计算机设备的结构框图;图2为本专利技术较佳实施例提供的数据库兼容装置的一种功能模块图;图3为本专利技术较佳实施例提供的数据库兼容装置的另一种功能模块图;图4为图3中创建模块的子模块的一种功能模块图;图5为图3中创建模块的子模块的另一种功能模块图;图6为图3中部署模块的子模块的功能模块图。图标:100-计算机设备;110-存储器;120-处理器;130-存储控制器;200-数据库兼容装置;209-创建模块;210-接收模块;220-判定模块;230-获取模块;240-部署模块;2091-样本获取子模块;2092-分类子模块;2093-合并子模块;2094-处理子模块;20本文档来自技高网...
数据库兼容装置

【技术保护点】
一种数据库兼容装置,应用于计算机设备,所述计算机设备存储有数据库、通用存储函数库及数据库类型与所述通用存储函数库部署方式对应关系,其特征在于,所述装置包括:接收模块,用于接收待兼容的数据库;判定模块,用于判定待兼容的数据库类型,所述数据库类型包括mysql数据库、oracle数据库、sqlserver数据库、postgreSQL数据库、达梦数据库、人大金仓数据库、神通数据库、derby数据库或者sqlite数据库;获取模块,用于获取与所述数据库类型对应的部署方式及通用存储函数库;部署模块,用于将所述通用存储函数库采用与所述数据库类型对应的部署方式部署到所述待兼容的数据库中。

【技术特征摘要】
1.一种数据库兼容装置,应用于计算机设备,所述计算机设备存储有数据库、通用存储函数库及数据库类型与所述通用存储函数库部署方式对应关系,其特征在于,所述装置包括:接收模块,用于接收待兼容的数据库;判定模块,用于判定待兼容的数据库类型,所述数据库类型包括mysql数据库、oracle数据库、sqlserver数据库、postgreSQL数据库、达梦数据库、人大金仓数据库、神通数据库、derby数据库或者sqlite数据库;获取模块,用于获取与所述数据库类型对应的部署方式及通用存储函数库;部署模块,用于将所述通用存储函数库采用与所述数据库类型对应的部署方式部署到所述待兼容的数据库中。2.根据权利要求1所述的数据库兼容装置,其特征在于,所述装置还包括:创建模块,用于创建所述通用存储函数库;所述创建模块包括:样本获取子模块,用于获取需要兼容的多个样本数据库,每个样本数据库包括有内置存储函数集;分类子模块,用于基于内置存储函数集中各内置存储函数实现的功能对所述内置存储函数进行分类,得到不同类别的内置存储函数;合并子模块,用于将各样本数据库中相同类别的内置存储函数进行合并,得到实现同一功能的内置存储函数集;处理子模块,用于将各个功能的内置存储函数集基于一预设种类数据库对应的功能实现规则进行处理,得到通用存储函数库。3.根据权利要求2所述的数据库兼容装置,其特征在于,所述创建模块还包括:函数获取子模块,用于获取各个数据库对应的内置存储函数;对比子模块,用于将各个数据库对应的内置存储函数与所述通用存储函数库进行对比,查找各个数据库中不存在的存储函数,或者功能、格式与所述通用存储函数库不同的存储函数;添加子模块,用于响应对查找到的存储函数进行开发的操作,将开发后的所述存储函数添加到所述通用存储函数库中。4.根据权利要求2所述的数据库兼容装置,其特征在于:所述不同类别的函数包括:数学函数、字符串函数、日期与时间函数、判断函数、聚合函数、加解密函数或转换函数中的至少一种及多种的自由组合。5.根据权利要求2所述的数据库兼容装置,其特征在于,所述合并子模块将各样本数据库中相同类别的内置存储函数进行合并,得到实现同一功能的内置存储函数集的方式包括:将各个数据库中相同类别内置存储函数的名字、参数、参数类型和返回值类型进行整合,得到实现同一功能的内置存储函数集。6.根据权利要求2所述的数据库兼容装置,其特征在于,所述处理子模块将各个功能的内置存储函数集基于一预设种类数据库对应的功能实现规则进行处理,得到该预设种类数据库的通用存储函数库的方式包括:确定通用存储函数库的名字;确定通用存储函...

【专利技术属性】
技术研发人员:徐凌云付静李龙徐建吴汝钰
申请(专利权)人:成都三零盛安信息系统有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1