System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种异构数据库SQL迁移转换方法及系统技术方案_技高网

一种异构数据库SQL迁移转换方法及系统技术方案

技术编号:40207381 阅读:5 留言:0更新日期:2024-02-02 22:18
本发明专利技术公开一种异构数据库SQL迁移转换方法,包括:分析源数据库和目标数据库语法差异,提取特征点构建自动检测语法规则,并编写自动转化映射方法;根据语法检测规则,编写规则测试用例,定期自动检验规则有效性,本发明专利技术使用的方法转化为对语法差异特征提取及转换规则设计,开发方式更加简便,能够降低数据库迁移成本。将代码的开发设计转换为语法差异特征提取及转换规则的提取设计,提高了项目面临多种数据库时开发迁移工具的可扩展性。语法不兼容原因及位置标注清晰,能快速指导用户修改应用SQL。定期检测规则有效性,便于云数据库快速迭代,避免因数据库升级导致的规则无效而误判问题。

【技术实现步骤摘要】

本专利技术涉及数据迁移,具体是一种异构数据库sql迁移转换方法及系统。


技术介绍

1、随着云计算、大数据等技术趋势的发展,数据库也开始面临横向扩展问题。尤其是党政、核心行业的大数据应用场景下,如何使得数据库能够通过横向扩展以满足超大规模的数据存储、计算要求,it系统全面上云成为必由之路。而传统it系统的开发大多数都是基于国际数据库,例如,mysql、oracle、db2、sql server等数据库,要实现it系统上云,必须将数据从传统数据库迁移至高性能的云数据库,但是各个数据库存在一定的差异,并不完全兼容。

2、在it上云过程中,由于源数据库和目标数据库在数据结构、语法上存在较大差异,而现有的异构数据库数据迁移方法,不能自动完成数据的迁移,用户需要清楚地了解数据库的存储结构和语法特点,需要编写适当的代码控制数据的迁移,需要花大量时间进行调试;并且一旦数据库结构发生变化,代码需要作大量改动,维护困难。系统工具又有一定的局限性,比较依赖具体的数据库产品,通用性不强。

3、针对从传统数据库至高性能的云数据库进行数据迁移时,因为不同厂商的源数据库定义的数据类型以及支持的语法、函数不同,用户在更换数据库产品时,往往需要付出较大的学习成本,传统数据库自带的迁移工具针对性不强,不够灵活,一般仅仅完成数据类型转换,无法对语法和函数进行适配转换,也不能清楚标注不兼容的语法类型和具体位置,无法提示用户对应修改应用代码。

4、因此我们需要一种方法,可以将传统数据库的数据类型、语法和函数识别并转换为云数据库适配的类型。


技术实现思路

1、本专利技术的目的在于提供一种异构数据库sql迁移转换方法及系统,以解决上述
技术介绍
中提出的各个数据库存在一定的差异,并不完全兼容等问题。

2、为实现上述目的,本专利技术提供如下技术方案:

3、一种异构数据库sql迁移转换方法,包括:

4、分析源数据库和目标数据库语法差异,提取特征点构建自动检测语法规则,并编写自动转化映射方法;

5、根据语法检测规则,编写规则测试用例,定期自动检验规则有效性。

6、作为本专利技术的进一步技术方案:所述编写规则测试用例具体包括:获取源数据库sql;

7、采集所述源数据库中的sql,进行语法解析产生抽象语法树;

8、遍历抽象语法树对其特征属性进行提取,将特征属性与语法检测规则预设信息进行匹配判断,获得判断结果。

9、作为本专利技术的进一步技术方案:所述sql包括dql、dml和ddl。

10、作为本专利技术的进一步技术方案:根据所述的判断结果,生成语法不兼容原因及语法定位,通过前端高亮展示;

11、根据所述源数据库中的sql的语法特征属性进行规则预设转换,得到转换结果;

12、根据所述源数据库中的sql的转换结果在所述目标数据库批量执行,生成所述目标数据库的数据对象。

13、作为本专利技术的进一步技术方案:根据匹配判断的结果将所述源数据库中的sql批量迁移至所述目标数据库,转换为所述目标数据库的sql。

14、作为本专利技术的进一步技术方案:还包括:对语法结构进行预设操作。

15、作为本专利技术的进一步技术方案:所述预设操作具体包括:对所述语法结构进行增加、删除、修改和查询操作。

16、作为本专利技术的进一步技术方案:从源数据库采集的sql相关信息,存储至信息库。

17、作为本专利技术的进一步技术方案:所述源数据库和目标数据库包括oracle、mysql、sql server、db2。

18、作为本专利技术的进一步技术方案:包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的异构数据库sql迁移转换方法的步骤。

19、与现有技术相比,本专利技术的有益效果是:

20、1.传统方式往往需要对两种数据库语法不同部分进行单独的处理,人为进行代码开发,本专利技术使用的方法转化为对语法差异特征提取及转换规则设计,开发方式更加简便,能够降低数据库迁移成本。

21、2.将代码的开发设计转换为语法差异特征提取及转换规则的提取设计,提高了项目面临多种数据库时开发迁移工具的可扩展性。

22、3.语法不兼容原因及位置标注清晰,能快速指导用户修改应用sql。

23、4.定期检测规则有效性,便于云数据库快速迭代,避免因数据库升级导致的规则无效而误判问题。

本文档来自技高网...

【技术保护点】

1.一种异构数据库SQL迁移转换方法,其特征在于,包括:

2.根据权利要求1所述的一种异构数据库SQL迁移转换方法,其特征在于,所述编写规则测试用例具体包括:

3.根据权利要求2所述的一种异构数据库SQL迁移转换方法,其特征在于,所述SQL包括DQL、DML和DDL。

4.根据权利要求2所述的一种异构数据库SQL迁移转换方法,其特征在于,根据所述的判断结果,生成语法不兼容原因及语法定位,通过前端高亮展示;

5.根据权利要求4所述的一种异构数据库SQL迁移转换方法,其特征在于,根据匹配判断的结果将所述源数据库中的SQL批量迁移至所述目标数据库,转换为所述目标数据库的SQL。

6.根据权利要求4所述的一种异构数据库SQL迁移转换方法,其特征在于,还包括:对语法结构进行预设操作。

7.根据权利要求6所述的一种异构数据库SQL迁移转换方法,其特征在于,所述预设操作具体包括:对所述语法结构进行增加、删除、修改和查询操作。

8.根据权利要求2所述的一种异构数据库SQL迁移转换方法,其特征在于,从源数据库采集的SQL相关信息,存储至信息库。

9.根据权利要求2所述的一种异构数据库SQL迁移转换方法,其特征在于,所述源数据库和目标数据库包括Oracle、MySQL、SQL Server、DB2。

10.一种异构数据库SQL迁移转换系统,其特征在于,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如权利要求1-9任一项所述的异构数据库SQL迁移转换方法的步骤。

...

【技术特征摘要】

1.一种异构数据库sql迁移转换方法,其特征在于,包括:

2.根据权利要求1所述的一种异构数据库sql迁移转换方法,其特征在于,所述编写规则测试用例具体包括:

3.根据权利要求2所述的一种异构数据库sql迁移转换方法,其特征在于,所述sql包括dql、dml和ddl。

4.根据权利要求2所述的一种异构数据库sql迁移转换方法,其特征在于,根据所述的判断结果,生成语法不兼容原因及语法定位,通过前端高亮展示;

5.根据权利要求4所述的一种异构数据库sql迁移转换方法,其特征在于,根据匹配判断的结果将所述源数据库中的sql批量迁移至所述目标数据库,转换为所述目标数据库的sql。

6.根据权利要求4所述的一种异构数据库sql迁移转换方法,其特征在于...

【专利技术属性】
技术研发人员:石方波
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1