System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及计算机,尤其涉及一种sql语句处理方法、装置、设备、介质及产品。
技术介绍
1、在应用中,有时需要将已经开发完成的应用迁移的其他数据库上,迁移工作中的一种重要任务是进行源数据库到目的数据库的sql语法修改。为减少迁移工作量,数据库厂商一般会提高数据库sql兼容性,主动去兼容其他主流数据库sql语法。
2、当前,使用最广泛的关系型数据库是oracle和mysql,它们在sql语法上存在较大差异,想在一个数据库中,同时兼容以上多种数据库sql语法存在一定难度。
3、目前比较主流的方案是以自身数据库sql语法为主要语法体系,补充兼容其他数据库的部分sql语法,自身sql语法规则与兼容sql语法规则存在于同一套语法规则中。然而,各数据库sql语法之间存在差异,添加新sql语法到现有语法规则体系中,容易产生语法冲突,且复杂度高,因此无法进行大规模sql语句的兼容。
技术实现思路
1、本专利技术实施例提供一种sql语句处理方法、装置、设备、介质及产品,基于所述会话对应的目标解析模型对所述待执行sql语句进行语法解析,能够在会话级别区分解析需求,提供与解析需求对应的解析模型,在提升数据库兼容性的同时,解决语法冲突问题。
2、根据本专利技术的一方面,提供了一种sql语句处理方法,所述sql语句处理方法由数据库服务器执行,所述sql语句处理方法包括:
3、通过会话接收数据库客户端发送的待执行sql语句;
4、基于所述会话
5、基于所述sql语法树结构执行所述待执行sql语句,得到执行结果,并将执行结果发送至数据库客户端。
6、根据本专利技术的另一方面,提供了一种sql语句处理装置,所述sql语句处理装置配置在数据库服务器中,该sql语句处理装置包括:
7、待执行sql语句接收模块,用于通过会话接收数据库客户端发送的待执行sql语句;
8、语法解析模块,用于基于所述会话对应的目标解析模型对所述待执行sql语句进行语法解析,得到sql语法树结构;
9、执行结果确定模块,用于基于所述sql语法树结构执行所述待执行sql语句,得到执行结果,并将执行结果发送至数据库客户端。
10、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
11、至少一个处理器;以及
12、与所述至少一个处理器通信连接的存储器;其中,
13、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的sql语句处理方法。
14、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的sql语句处理方法。
15、根据本专利技术的另一方面,提供了一种计算机程序产品,所述计算机程序在被处理器执行时实现如本专利技术实施例中任一所述的sql语句处理方法。
16、本专利技术实施例通过会话接收数据库客户端发送的待执行sql语句;基于所述会话对应的目标解析模型对所述待执行sql语句进行语法解析,得到sql语法树结构;基于所述sql语法树结构执行所述待执行sql语句,得到执行结果,并将执行结果发送至数据库客户端,通过在会话级别区分解析需求,并为之提供对应的解析模型,解决了以自身数据库sql语法为主要语法体系,补充兼容其他数据库的部分sql语法,容易产生语法冲突的问题,提升了数据库的兼容性。
17、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种SQL语句处理方法,其特征在于,由数据库服务器执行,所述SQL语句处理方法包括:
2.根据权利要求1所述的方法,其特征在于,在基于所述会话对应的目标解析模型对所述待执行SQL语句进行语法解析,得到SQL语法树结构之前,还包括:
3.根据权利要求2所述的方法,其特征在于,在获取所述会话中的解析类型字段之前,还包括:
4.根据权利要求1所述的方法,其特征在于,通过所述目标解析模型对所述待执行SQL语句进行语法解析,得到SQL语法树结构,包括:
5.根据权利要求4所述的方法,其特征在于,所述目标解析模型包括:解析模型标识和解析函数。
6.根据权利要求2所述的方法,其特征在于,建立解析模型组,包括:
7.根据权利要求6所述的方法,其特征在于,还包括:
8.一种SQL语句处理装置,其特征在于,所述SQL语句处理装置配置在数据库服务器中,所述SQL语句处理装置包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的SQL语句处理方法。
...【技术特征摘要】
1.一种sql语句处理方法,其特征在于,由数据库服务器执行,所述sql语句处理方法包括:
2.根据权利要求1所述的方法,其特征在于,在基于所述会话对应的目标解析模型对所述待执行sql语句进行语法解析,得到sql语法树结构之前,还包括:
3.根据权利要求2所述的方法,其特征在于,在获取所述会话中的解析类型字段之前,还包括:
4.根据权利要求1所述的方法,其特征在于,通过所述目标解析模型对所述待执行sql语句进行语法解析,得到sql语法树结构,包括:
5.根据权利要求4所述的方法,其特征在于,所述目标解析模型包括:解析模型标识和解析函数。
6.根据权利要求2所述的方法,其特...
【专利技术属性】
技术研发人员:陈科洋,陈琦,吕继云,
申请(专利权)人:武汉达梦数据库股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。