【技术实现步骤摘要】
本专利技术公开一种办法及装置,涉及数据库软件开发领域,具体地说是一种异构关系型数据库统一sql处理办法及装置。
技术介绍
1、目前数据库适配主要根据sql生成抽象语法树,根据语法树和数据库方言转化成可以适用于数据库方言的sql语句。此种模式存在以下问题:
2、可以做到语法和语义的转换,但对sql中的表的存在和列的存在不能识别。
3、缺少对大小写敏感的纠错能力,而目前许多数据库是大小写敏感的,因此此种模式转换后的sql语法和语义可能不正确,在实际执行过程可能因为大小写问题导致报错。
技术实现思路
1、本专利技术针对现有技术的问题,提供一种异构关系型数据库统一sql处理办法及装置,解决关系型数据库交互的sql适配问题,通过sql适配解决不同数据库之间的语法和特性差异,实现数据库迁移、跨数据库数据交互、多数据库支持以及数据库升级和版本兼容性等需求。
2、本专利技术提出的具体方案是:
3、本专利技术提供一种异构关系型数据库统一sql处理办法,包括:<
...【技术保护点】
1.一种异构关系型数据库统一sql处理办法,其特征是包括:
2.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤01中根据springboot应用配置的数据源,根据数据源建立与数据库的连接,获取数据库的元数据,根据元数据获取表信息,根据表信息轮询获取列信息,缓存数据库所有的表信息和表对应的列信息。
3.根据权利要求1所述的一种异构关系型数据库统一sql处理办法,其特征是步骤02中根据springboot应用,使用mybatis,mybatis-plus与数据库交互,使用内置拦截器,拦截所有对表结构的增删改的sql操作。<
...【技术特征摘要】
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.一种异构关系型数...
【专利技术属性】
技术研发人员:杨尚永,魏子重,李锐,
申请(专利权)人:山东浪潮科学研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。