预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN114064601A(43)申请公布日2022.02.18(21)申请号202010576991.3(22)申请日2020.06.22(71)申请人金篆信科有限责任公司地址100176北京市大兴区北京经济技术开发区科谷一街10号院8号楼18层(北京自贸试验区高端产业片区亦庄组团)(72)发明人李强周(74)专利代理机构北京品源专利代理有限公司11332代理人潘登(51)Int.Cl.G06F16/21(2019.01)G06F16/242(2019.01)G06F40/253(2020.01)权利要求书2页说明书7页附图3页(54)发明名称存储过程转换方法、装置、设备和存储介质(57)摘要本申请提供一种存储过程转换方法、装置、设备和存储介质,包括:获取源数据库的存储过程;对所述存储过程进行解析和翻译,得到对应的语法块列表;对所述语法块列表进行处理,得到满足目标数据库要求的存储过程。本申请的技术方案节约数据库迁移过程中的人力和时间成本,提高存储过程迁移的效率。CN114064601ACN114064601A权利要求书1/2页1.一种存储过程转换方法,其特征在于,包括:获取源数据库的存储过程;对所述存储过程进行解析和翻译,得到对应的语法块列表;对所述语法块列表进行处理,得到满足目标数据库要求的存储过程。2.根据权利要求1所述的方法,其特征在于,所述获取源数据库的存储过程,包括如下方法之一:在线连接所述源数据库,导出所述源数据库的存储过程;离线读取所述源数据库的数据库模式定义语言ddl文件,将所述ddl文件拆分成所述源数据库的存储过程。3.根据权利要求1所述的方法,其特征在于,所述对所述存储过程进行解析和翻译,得到对应的语法块列表,包括:基于所述存储过程的语法结构解析所述存储过程,生成解析后的词法树;对于所述词法树的每个语法块,以不同的数据库语言进行翻译,得到对应的语法块列表。4.根据权利要求3所述的方法,其特征在于,所述解析所述存储过程,生成解析后的词法树,包括:解析所述存储过程中的每个词条;基于解析后的每个词条生成所述存储过程的声明部分和过程体部分;分别解析所述声明部分和所述过程体部分,生成解析后的词法树。5.根据权利要求4所述的方法,其特征在于,所述声明部分包括存储过程名称和参数列表,其中,所述参数列表包括如下一个或多个:参数类型,参数名,参数的数据类型。6.根据权利要求4所述的方法,其特征在于,所述过程体部分包括第二声明部分和语法部分,所述语法部分包括单条语句和语法块。7.根据权利要求1所述的方法,其特征在于,所述对所述语法块列表进行处理,得到满足目标数据库要求的存储过程,包括:确定目标数据库的数据库类型;在所述语法块列表中获取所述数据库类型对应的语法块;将所述数据库类型对应的语法块进行组合,得到满足目标数据库要求的存储过程。8.一种存储过程转换装置,其特征在于,包括:获取模块,被配置为获取源数据库的存储过程;解析翻译模块,被配置为对所述存储过程进行解析和翻译,得到对应的语法块列表;处理模块,被配置为对所述语法块列表进行处理,得到满足目标数据库要求的存储过程。9.一种设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被2CN114064601A权利要求书2/2页处理器执行时实现权利要求1-7任一项所述的方法。3CN114064601A说明书1/7页存储过程转换方法、装置、设备和存储介质技术领域[0001]本申请涉及数据库存储技术领域,具体涉及一种存储过程转换方法、装置、设备和存储介质。背景技术[0002]随着大数据时代的到来,传统的关系型数据库己经满足不了众多企业的需求,因此越来越多的企业需要将在传统的关系型数据库中存储的数据迁移到大数据平台中。其中,存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数来执行它。存储过程是数据库中的一个重要对象。[0003]数据库的存储过程具有语法多样和逻辑复杂的特点,尤其基于oracle数据库的应用,使用非常多的存储过程,甚至一个存储过程包含几千行的代码,在异构数据库迁移的过程,会带来很大的迁移工作量。[0004]目前数据库迁移一般是由认为操作来完成,每人每天只能改造约5-10个。这样,导致大量的人力和时间的浪费,且效率低下。发明内容[0005]本申请提供的存储过程转换方法