一种异构关系型数据库统一sql处理办法及装置制造方法及图纸

技术编号:41242040 阅读:19 留言:0更新日期:2024-05-09 23:53
本发明专利技术公开一种异构关系型数据库统一sql处理办法及装置,涉及数据库软件开发领域;包括:步骤01:获取并缓存数据库所有的表信息和表对应的列信息,步骤02:定义拦截器,拦截所有对表结构的增删改的sql操作,步骤03:配置sql语法处理模式,步骤04:根据sql解析出sql对应的抽象语法树,步骤05:检测抽象语法树的表名和列名是否在缓存的数据库表信息和列信息内,检测不通过进行步骤06,检测通过进行步骤07,步骤06:抛出异常,给出出错原因,步骤07:保存抽象语法树中与缓存中表信息和列信息的大小写的映射关系,步骤08:进行函数功能转换,步骤09:进行值转换,步骤10:进行结果处理,提高应用程序的兼容性、可扩展性和可维护性,减少开发和维护的工作量。

【技术实现步骤摘要】

本专利技术公开一种办法及装置,涉及数据库软件开发领域,具体地说是一种异构关系型数据库统一sql处理办法及装置


技术介绍

1、目前数据库适配主要根据sql生成抽象语法树,根据语法树和数据库方言转化成可以适用于数据库方言的sql语句。此种模式存在以下问题:

2、可以做到语法和语义的转换,但对sql中的表的存在和列的存在不能识别。

3、缺少对大小写敏感的纠错能力,而目前许多数据库是大小写敏感的,因此此种模式转换后的sql语法和语义可能不正确,在实际执行过程可能因为大小写问题导致报错。


技术实现思路

1、本专利技术针对现有技术的问题,提供一种异构关系型数据库统一sql处理办法及装置,解决关系型数据库交互的sql适配问题,通过sql适配解决不同数据库之间的语法和特性差异,实现数据库迁移、跨数据库数据交互、多数据库支持以及数据库升级和版本兼容性等需求。

2、本专利技术提出的具体方案是:

3、本专利技术提供一种异构关系型数据库统一sql处理办法,包括:</p>

4、步骤本文档来自技高网...

【技术保护点】

1.一种异构关系型数据库统一sql处理办法,其特征是包括:

2.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤01中根据springboot应用配置的数据源,根据数据源建立与数据库的连接,获取数据库的元数据,根据元数据获取表信息,根据表信息轮询获取列信息,缓存数据库所有的表信息和表对应的列信息。

3.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤02中根据springboot应用,使用mybatis,mybatis-plus与数据库交互,使用内置拦截器,拦截所有对表结构的增删改的sql操作。</p>

4.根据...

【技术特征摘要】

1.一种异构关系型数据库统一sql处理办法,其特征是包括:

2.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤01中根据springboot应用配置的数据源,根据数据源建立与数据库的连接,获取数据库的元数据,根据元数据获取表信息,根据表信息轮询获取列信息,缓存数据库所有的表信息和表对应的列信息。

3.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤02中根据springboot应用,使用mybatis,mybatis-plus与数据库交互,使用内置拦截器,拦截所有对表结构的增删改的sql操作。

4.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤02中定义拦截器的class类,通过class类拦截所有对表结构的增删改的sql操作,并触发数据库缓存的表信息和列信息的同步更新。

5.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤04中使用jsqlparse解析sql抽象语法树转换为java对象,步骤05中根据sql抽象语法树对应的java对象,获取对应的表信息和列信息,与缓存中的数据库表信息和列信息进行比对检测。

6.一种异构关系型数...

【专利技术属性】
技术研发人员:杨尚永魏子重李锐
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1