[发明专利]数据库转换装置、方法、计算机系统及存储介质在审
申请号: | 202010683612.0 | 申请日: | 2020-07-15 |
公开(公告)号: | CN111897798A | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 迟爽;高建华;邓强;叶轮 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周天宇 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 转换 装置 方法 计算机系统 存储 介质 | ||
本公开提供了一种数据库转换装置,包括:语句获取模块,用于获取待转换数据库表存储过程和非存储过程的源SQL语句;存储过程转化模块,用于将所述待转换数据库表存储过程的源SQL语句转化为目标数据库表存储过程的目标SQL语句;非存储过程转化模块,用于将所述待转换数据库表非存储过程的源SQL语句转化为所述目标数据库表非存储过程的目标SQL语句;数据迁移模块,用于根据所述目标数据库表的存储过程和非存储过程的目标SQL语句生成所述目标数据库。本申请还公开了一种数据库转换方法、计算机系统及存储介质。
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种数据库转换装置、方法、计算机系统及存储介质。
背景技术
随着互联网应用的飞速发展,拥抱互联网,开源软件和分布式软件的需求。经常需要将现有的老旧系统进行升级,而当系统升级后,可能面临新的系统不兼容原有数据库,因此需要对数据库进行转换。
目前,当需要进行数据库转换时,通常是人工实现两个数据库之间的转换。具体开发人员将两个数据库的语句逐一进行转换,过程繁琐且极易出错。虽然市面上存在的数据库转换工具,但现有的数据库转换工具功能单一,不提供存储过程和其它部分的转化功能,同时转化效率低下。
发明内容
本申请的主要目的在于提供一种数据库转换装置、方法、计算机系统及存储介质,可减少人工转化数据库的工作量,有效提高了数据库转换效率。
为实现上述目的,本申请实施例第一方面提供一种数据库转换装置,包括:
语句获取模块、存储过程转化模块、非存储过程转化模块以及数据迁移模块;
所述语句获取模块,用于获取待转换数据库表存储过程和非存储过程的源SQL语句;
所述存储过程转化模块,用于将所述待转换数据库表存储过程的源SQL语句转化为目标数据库表存储过程的目标SQL语句;
所述非存储过程转化模块,用于将所述待转换数据库表非存储过程的源SQL语句转化为所述目标数据库表非存储过程的目标SQL语句;
所述数据迁移模块,用于根据所述目标数据库表的存储过程和非存储过程的目标SQL语句生成所述目标数据库;
其中,所述目标SQL语句可在所述目标数据库中运行。
可选的,所述数据库转换装置还包括解析模块;
所述解析模块,用于解析所述源SQL语句,当所述源SQL语句为所述非存储过程的源SQL语句时,得到所述非存储过程的源SQL语句中的函数关键字、字符串关键字、参数定义或赋值关键字、分页查询方式、异常处理方式、注释、条件语句和引号,以及,当所述源SQL语句为所述存储过程的源SQL语句时,得到所述存储过程的源SQL语句中的创建所述存储过程的关键字、所述存储过程参数的关键字、所述存储过程变量定义或赋值的关键字。
可选的,所述非存储过程转化模块包括函数转化子模块、字符串连接转化子模块、参数转化子模块、分页查询转化子模块、异常处理转化子模块、注释转化子模块、条件语句转化子模块、引号转化子模块中的至少一项;
所述函数转化子模块,用于将所述源SQL语句中的函数关键字转化为所述目标SQL语句中的函数关键字;
所述字符串转化子模块,用于将所述源SQL语句中的字符串关键字转化为所述目标SQL语句中的字符串关键字;
所述变量转化子模块,用于将所述源SQL语句中的变量定义或赋值关键字转化为所述目标SQL语句中的变量定义或赋值关键字;
所述分页查询转化子模块,用于将所述源SQL语句中的分页查询方式转化为所述目标SQL语句中的分页查询方式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010683612.0/2.html,转载请声明来源钻瓜专利网。