【技术实现步骤摘要】
关系型数据库差异化对比方法及系统
[0001]本专利技术涉及数据库
,具体地说是一种关系型数据库差异化对比方法及系统。
技术介绍
[0002]目前的常用的数据库管理工具,类如navicat、DBeaver、SQLyog等,都有着不错的使用性能,但是以上工具以及其他的管理工具,一般都不具备对不同关系型数据库,类如MySQL、SQL Server、Oracle等关系型数据库的库、表、字段级的差异性对比功能。
[0003]在系统研发过程中,可能同一个业务系统会用到不同的关系型数据库,在版本迭代过程中,一般会使用多个同类型或不同类型的关系型数据库,也会导致各个关系型数据库之间的表、列存在较大差异,若人工去排查,非常繁琐且浪费人力资源。
[0004]故如何实现关系型数据库之间的表、列的差异化比对,且对比结果清晰具体、易用性高是目前亟待解决的技术问题。
技术实现思路
[0005]本专利技术的技术任务是提供一种关系型数据库差异化对比方法及系统,来解决如何实现关系型数据库之间的表、列的差异化比对,且对比 ...
【技术保护点】
【技术特征摘要】
1.一种关系型数据库差异化对比方法,其特征在于,该方法具体如下:S1、编写SQL连接公共方法,使用JDBC框架的DriverManager对象及Connection对象,获取不同的两个关系型数据库的连接信息:将连接一作为主关系型数据库,连接二作为副关系型数据库,使用PreparedStatement对象和ResultSet对象分别获取到连接一和连接二对应的所有的表和视图及其列的名称、长度及注释信息;S2、对比连接一和连接二的表信息是否相同:
①
、若不同,则将有差异的表名记录到数组一中,下一步执行步骤S3;
②
、若相同,则执行步骤S3;S3、根据获取到的表名称及表的字段详细信息,逐个对比表中每一列的信息是否相同:
①
、若不同,则将有差异的列及对应的表名记录到数组二中,下一步执行步骤S4;
②
、若相同,则执行步骤S4;S4、输出对比结果。2.根据权利要求1所述的关系型数据库差异化对比方法,其特征在于,该方法还针对表中的主键或指定字段进行差异化对比,对比出表中数据的区别,形成差异化结果集并进行结果集输出。3.根据权利要求1或2所述的关系型数据库差异化对比方法,其特征在于,关系型数据库包括Oracle数据库、Mysql数据库及Postgresql,Oracle数据库、Mysql数据库及Postgresql获取表信息及列信息的查询方式不同。4.根据权利要求3所述的关系型数据库差异化对比方法,其特征在于,Oracle数据库获取表信息及列信息的查询方式具体如下:(1)、从user_tables表中获取到表名信息;(2)、从公共表user_tab_columns和user_col_comments中获取到数据表的具体信息:字段名称、字段类型、字段是否可为空及字段备注。5.根据权利要求4所述的关系型数据库差异化对比方法,其特征在于,Mysql数据库数据库获取表信息及...
【专利技术属性】
技术研发人员:吴兵,张峰,朱家兵,张庆兵,王勇,
申请(专利权)人:浪潮软件科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。