System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据迁移,具体是一种异构数据库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迁移转换方法,其特征在于,从源数据库采集的
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迁移转换方法,其特征在于...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。