[发明专利]数据库的语言转换方法、装置、电子设备及存储介质有效
申请号: | 201911314219.8 | 申请日: | 2019-12-19 |
公开(公告)号: | CN111061757B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 刘春 | 申请(专利权)人: | 用友网络科技股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;王淑梅 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 语言 转换 方法 装置 电子设备 存储 介质 | ||
本发明提出了一种数据库的语言转换方法、装置、电子设备及存储介质。其中,语言转换方法包括:获取结构化查询语言的第一查询语句和目标数据库的第二语法规则;根据当前数据库中的第一语法规则和第一查询语句,构建第一查询语句的语法树;根据第二语法规则和语法树,生成结构化查询语言的第二查询语句。本发明提供的方法使数据代码平滑移植到指定数据库平台,避免了开发使用了中间级或更高级数据库导致的无法“移植”应用的风险,同时,能够将数据库标准拼写的简单的DDL和DML的语句根据数据库类型和版本转换成对应的脚本,使得开发能以很少代码改动的情况下支持多数据库。
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据库的语言转换方法、一种数据库的语言转换装置、一种电子设备及一种计算机可读存储介质。
背景技术
在传统的数据库系统中,数据通常以表格的形式存储在一个或多个数据库中,然后使用SQL(Structured Query Language,结构化查询语言)的数据管理语言来查询或处理存储的数据,但不同的数据库产品仅针对自有产品的特性,导致不同数据库的SQL语句语法以及支持的函数不尽相同。SQL92标准有4个层次,入门级、过渡级、中间级和完备级,若数据库使用了中间级或更高级的特性,就存在无法“移植”应用的风险,使得系统在多个不同数据库之间移植变得非常困难,特别是需要维护多个数据库版本的时候,另外,现有数据库项目主要是使用MySQL(关系型数据库管理系统)。当要迁移数据到其他数据库时,开发人员必须对各种数据库的语法差异有非常深入的了解,这加大了开发的难度。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明第一方面在于提出了一种数据库的语言转换方法。
本发明的第二方面在于提出了一种数据库的语言转换装置。
本发明的第三方面在于提出了一种电子设备。
本发明的第四方面在于提出了一种计算机可读存储介质。
有鉴于此,根据本发明的第一方面,提出了一种数据库的语言转换方法,包括:获取结构化查询语言的第一查询语句和目标数据库的第二语法规则;根据当前数据库中的第一语法规则和第一查询语句,构建第一查询语句的语法树;根据第二语法规则和语法树,生成结构化查询语言的第二查询语句。
本发明提供的数据库的语言转换方法,获取结构化查询语言的第一查询语句和目标数据库的第二语法规则,利用数据库预置翻译器中的第一语法规则将SQL第一查询语句解析成语法树,然后针对语法树的各部分通过目标数据库方言翻译器中的第二语法规则进行替换、改写、重新排列等解析处理,将语法树修整成符合目标数据库类型的语法规则,然后再逆向解析成SQL第二查询语句,从而使数据库支持SQL92更高级标准的SQL翻译到指定数据库平台,避免了开发使用了中间级或更高级数据库,存在无法“移植”应用的风险,同时,能够将数据库标准拼写的简单的DDL(数据定义语言)和DML(数据库操作语言)的语句根据数据库类型和版本转换成对应的脚本,使得开发能以很少代码改动的情况下支持多数据库,进而屏蔽数据库方言转换造成的代码分支和差异。
另外,根据本发明提供的上述技术方案中的数据库的语言转换方法,还可以具有如下附加技术特征:
在上述技术方案中,进一步地,根据当前数据库中的第一语法规则和第一查询语句,构建第一查询语句的语法树的步骤之前,还包括:判断数据库是否存在第一查询语句对应的第一语法规则;判定数据库存在第一语法规则,调取第一语法规则;判定数据库不存在第一语法规则,根据第一查询语句获取语法信息,并根据语法信息创建第一语法规则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友网络科技股份有限公司,未经用友网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911314219.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有压紧功能的涨管装置
- 下一篇:一种颗粒物的传送装置