System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,尤其涉及一种数据库存储过程转换方法、装置、电子设备及存储介质。
技术介绍
1、随着大数据时代的到来,为了使得新的数据库能够更快且更加便捷地投入使用,需要实现数据库的存储过程的转换。
2、然而由于不同数据库之间过程化结构化查询语言(structured query language,sql)存在很大的差异,使得异构数据库之间的存储过程的转换较为复杂,影响转换效率。
技术实现思路
1、有鉴于此,本申请的目的在于提出一种数据库存储过程转换方法、装置、电子设备及存储介质,用以解决或部分解决上述技术问题。
2、基于上述目的,本申请的第一方面提供了一种数据库存储过程转换方法,包括:
3、获取与待转换数据库对应的存储过程数据,以及与所述存储过程数据对应的词法规则和语法规则,其中,所述词法规则用于指示所述存储过程数据的单词符号的形成规则,所述语法规则用于描述所述存储过程数据的语言结构的组成规则;
4、利用所述词法规则对所述存储过程数据进行字符识别,得到字符识别结果;
5、通过所述语法规则将所述字符识别结果进行语法组合,生成语法树;
6、根据预设的语言映射数据库将所述语法树转换为目标程序语言,其中,所述预设的语言映射数据库包括语法树与目标程序语言之间的多个映射关系。
7、可选地,所述利用所述词法规则对所述存储过程数据进行字符识别,得到字符识别结果,包括:
8、对所述存储过程数据进行字节
9、根据所述词法规则对所述字符序列进行词法分析,得到多个词法符号,并将所述多个词法符号作为所述字符识别结果。
10、可选地,所述根据所述词法规则对所述字符序列进行词法分析,得到多个词法符号,包括:
11、获取所述字符序列的全部字符元素,并将所述全部字符元素中的任一字符元素作为目标字符元素;
12、对每个所述目标字符元素均执行以下操作:
13、确定所述目标字符元素是否满足预设的词元素拆分条件;
14、响应于所述目标字符元素满足所述词元素拆分条件,对所述目标字符元素进行词元素拆分处理,得到所述词法符号。
15、可选地,所述字符识别结果包括多个词法符号,每个词法符号包括词法符号类型和对应的词法文本;
16、所述通过所述语法规则将所述字符识别结果进行语法组合,生成语法树,包括:
17、对每个所述词法符号均执行以下操作:
18、基于所述词法符号的词法符号类型按照所述语法规则将与所述词法符号所对应的词法文本进行组合,生成所述语法树。
19、可选地,所述基于所述词法符号的词法符号类型按照所述语法规则将与所述词法符号所对应的词法文本进行组合,生成所述语法树,包括:
20、根据所述词法符号的词法符号类型,按照所述语法规则确定所述词法符号的语言结构位置;
21、按照所述语言结构位置将与所述词法符号所对应的词法文本进行组合,生成所述语法树。
22、可选地,根据预设的语言映射数据库将所述语法树转换为目标程序语言之后,所述方法还包括:
23、获取与所述目标程序语言对应的第一存储结果,以及与所述待转换数据库的存储过程的第二存储结果;
24、基于所述第一存储结果和所述第二存储结果确定所述目标程序语言是否准确。
25、可选地,所述基于所述第一存储结果和所述第二存储结果确定所述目标程序语言是否准确,包括:
26、响应于所述第一存储结果与所述第二存储结果相同,确定所述目标程序语言正确;或者,
27、响应于所述第一存储结果与所述第二存储结果不相同,确定所述目标程序语言不准确。
28、基于同一专利技术构思,本申请的第二方面提供了一种数据库存储过程转换装置,包括:
29、获取模块,被配置为获取与待转换数据库对应的存储过程数据,以及与所述存储过程数据对应的词法规则和语法规则,其中,所述词法规则用于指示所述存储过程数据的单词符号的形成规则,所述语法规则用于描述所述存储过程数据的语言结构的组成规则;
30、字符识别模块,被配置为利用所述词法规则对所述存储过程数据进行字符识别,得到字符识别结果;
31、语法组合模块,被配置为通过所述语法规则将所述字符识别结果进行语法组合,生成语法树;
32、转换模块,被配置为根据预设的语言映射数据库将所述语法树转换为目标程序语言,其中,所述预设的语言映射数据库包括语法树与目标程序语言之间的多个映射关系。
33、基于同一专利技术构思,本申请的第三方面提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如上第一方面所述的方法。
34、基于同一专利技术构思,本申请的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上第一方面所述的方法。
35、从上面所述可以看出,本申请提供的数据库存储过程转换方法、装置、电子设备及存储介质,获取与待转换数据库对应的存储过程数据,以及与存储过程数据对应的词法规则和语法规则,然后利用词法规则对存储过程数据进行字符识别,得到字符识别结果,通过语法规则将字符识别结果进行语法组合,生成语法树,本申请通过词法规则和语法规则的方式直接实现了对于存储过程的解析,无需生成中间语法,然后根据预设的语言映射数据库将语法树直接转换为可执行的目标程序语言,避免异构数据库之间存储过程的迁移,降低了异构数据库之间的迁移难度,从而提高了转换速度。
本文档来自技高网...【技术保护点】
1.一种数据库存储过程转换方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述利用所述词法规则对所述存储过程数据进行字符识别,得到字符识别结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述词法规则对所述字符序列进行词法分析,得到多个词法符号,包括:
4.根据权利要求1所述的方法,其特征在于,所述字符识别结果包括多个词法符号,每个词法符号包括词法符号类型和对应的词法文本;
5.根据权利要求4所述的方法,其特征在于,所述基于所述词法符号的词法符号类型按照所述语法规则将与所述词法符号所对应的词法文本进行组合,生成所述语法树,包括:
6.根据权利要求1所述的方法,其特征在于,根据预设的语言映射数据库将所述语法树转换为目标程序语言之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一存储结果和所述第二存储结果确定所述目标程序语言是否准确,包括:
8.一种数据库存储过程转换装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。
...【技术特征摘要】
1.一种数据库存储过程转换方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述利用所述词法规则对所述存储过程数据进行字符识别,得到字符识别结果,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述词法规则对所述字符序列进行词法分析,得到多个词法符号,包括:
4.根据权利要求1所述的方法,其特征在于,所述字符识别结果包括多个词法符号,每个词法符号包括词法符号类型和对应的词法文本;
5.根据权利要求4所述的方法,其特征在于,所述基于所述词法符号的词法符号类型按照所述语法规则将与所述词法符号所对应的词法文本进行组合,生成所述语法树,包括:
6.根据权利...
【专利技术属性】
技术研发人员:唐文升,刘泽三,张晶,刘歆一,高莹,王琰洁,王颖,余明阳,田田,沈志豪,
申请(专利权)人:国网信息通信产业集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。