[发明专利]SQL语句的转换方法、系统、设备及存储介质在审
申请号: | 202110324218.2 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113051285A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 王英杰;尹秀 | 申请(专利权)人: | 未鲲(上海)科技服务有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/28;G06F8/41;G06F40/151;G06F40/253;G06F40/284;G06F40/289 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 魏润洁 |
地址: | 200000 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 语句 转换 方法 系统 设备 存储 介质 | ||
本发明公开了一种SQL语句的转换方法、系统、设备及存储介质。所述方法包括以下步骤:对来自于源数据库的待转换SQL语句进行词法分析,获得词素流;其中,所述词素流中的词素包括所述待转换SQL语句中各分词的属性信息;对所述词素流进行语法分析得到待转换SQL语句的语法解析树,根据源数据库和目标数据库之间的转换规则转换得到转换后的语法解析树;根据转换后的语法解析树生成与所述待转换SQL语句对应的、且用于目标数据库的结果SQL语句;其中,所述目标数据库与所述源数据库为异构的关系型数据库。上述方法、系统、存储介质可以简化异构的关系型数据库之间的SQL语句的相互转换。
技术领域
本发明涉及数据库技术领域,尤其涉及SQL语句的转换方法、系统、设备及存储介质。
背景技术
近年来,随着开源数据库的广泛应用和发展,商用数据库占据主流的时代逐渐退出舞台。许多业务场景针对如何去除Oracle数据库(甲骨文公司的一种商用数据库产品),更换成MySQL数据库(一种开源的数据库)是一种主流的数据库变更操作。但是Oracle数据库迁移至MySQL等开源数据库涉及到了大量繁杂、重复的人工转化操作,在一定程度上是十分耗时耗力的。
Oracle数据库的SQL(Structured Query Language,结构化查询语言)和MySQL数据库的SQL虽然都是目前数据库领域通用和常见的SQL数据库语言,但是Oracle数据库和MySQL数据库在函数实现、语句结构上有着不小的差别,因此在Oracle数据库的SQL转化为MySQL数据库的SQL的过程中面临着许多函数转换、语句结构转换等十分复杂和棘手的难题。
发明内容
本申请实施例通过提供一种SQL语句的转换方法、系统、设备及存储介质,解决了现有技术中SQL语句转换复杂的问题。
一种SQL语句的转换方法,所述方法包括:
对来自于源数据库的待转换SQL语句进行词法分析,获得词素流;其中,所述词素流中的词素包括所述待转换SQL语句中各分词的属性信息;
对所述词素流进行语法分析得到SQL语句的语法解析树,根据源数据库和目标数据库之间的转换规则转换所述SQL语句的语法解析树;
根据转换后的SQL语句的语法解析树生成与所述待转换SQL语句对应的、且用于目标数据库的结果SQL语句;其中,所述目标数据库与所述源数据库为异构的关系型数据库。
在其中一个实施例中,所述源数据库为Oracle数据库,所述目标数据库为MySQL数据库;
若所述源数据库还采用Mybatis封装SQL语句,则在对来自于源数据库的待转换SQL语句进行词法分析,获得词素流的步骤之前,所述方法还包括:将采用Mybatis封装的SQL语句还原成Oracle数据库的SQL语句;
所述待转换SQL语句来自所述还原成Oracle数据库的SQL语句。
在其中一个实施例中,所述将采用Mybatis封装的SQL语句还原成Oracle数据库的SQL语句,包括:
从Mybatis封装的SQL语句中提取出带XML标签的SQL语句,并转化成为JSON格式;
从所述JSON格式的语句中提取出Oracle数据库的SQL语句。
在其中一个实施例中,所述将采用Mybatis封装的SQL语句还原成Oracle数据库的SQL语句的步骤中,在从所述JSON格式的语句中提取出Oracle数据库的SQL语句的步骤之后,还包括:
对提取出的Oracle数据库的SQL语句进行语法校验,筛除不符合Oracle数据库的语法的SQL语句。
在其中一个实施例中,所述对来自于源数据库的待转换SQL语句进行词法分析,获得词素流,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于未鲲(上海)科技服务有限公司,未经未鲲(上海)科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110324218.2/2.html,转载请声明来源钻瓜专利网。