[发明专利]一种基于Oracle数据库的数据差异比较方法在审

专利信息
申请号: 201711021180.1 申请日: 2017-10-27
公开(公告)号: CN107784102A 公开(公告)日: 2018-03-09
发明(设计)人: 田振兴;杨宇静;代杰;张晓敏;史慕志;钱金星 申请(专利权)人: 中国电子科技集团公司第二十八研究所
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 南京苏高专利商标事务所(普通合伙)32204 代理人: 王安琪
地址: 210000 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 oracle 数据库 数据 差异 比较 方法
【权利要求书】:

1.一种基于Oracle数据库的数据差异比较方法,其特征在于,包括如下步骤:

(1)分别通过两个用户名、密码连接两个Oracle数据库,通过数据库提供的访问接口,采用SQL语句,分别获取两个数据库的所有数据库表名,按照表名排序后,比较输出不一致的数据库表名;

(2)对于名称相同的数据库表,通过SQL语句,分别读取每一数据库表的所有字段及其属性,按照字段名排序,比较字段名和属性是否相同,输出不同的字段名和属性;

(3)对所有字段按照属性不同重新进行排序,通过SQL查询语句,依次按照唯一键、主键、名称进行排序,将数据记录转换为字符串,依次比较数据记录的差异,输出差异字段。

2.如权利要求1所述的基于Oracle数据库的数据差异比较方法,其特征在于,步骤(1)中通过SQL语句,分别从读两个数据库的系统数据库表中读取两个用户下的所有数据库表名,并进行比较,具体包括如下步骤:

(11)通过数据库登录用户名和密码分别登录数据库A和数据库B;

(12)通过SQL语句,从系统数据库表中以用户名为查询条件分别找出所属的数据库表名,并按照数据库表名升序排序;

(13)分别将数据两个数据库所有表名存储在内存中建立的两个链表中,并建立两个指针分别指向两个链表的头部;建立两个数据库表名差异计数器,分别记录两个数据库的不相同表名数;建立一个数据库表名相同计数器,记录相同数据库表个数,并建立一个记录相同数据库名称的空链表,所有计数器初始值都为0;

(14)基于数据已经由数据库排序,依次比较两个指针指向的数据库表名是否相同,逐条比较获得对比结果,并分别计数;

(15)如果两个链表中都还有未被比较的数据库表名,重复步骤(14);如果一个链表中没有未被比较的数据库表名,则将另一个链表中的所有记录作为不相同项输出,并将剩余个数增加到对应的计数器上,输出统计结果,继续步骤(2);如果两个链表都没有未被比较的数据库表名,输出统计结果,继续步骤(2)。

3.如权利要求1所述的基于Oracle数据库的数据差异比较方法,其特征在于,步骤(2)中,每一数据库表的所有字段及其属性包括数据类型、长度和是否为空。

4.如权利要求1所述的基于Oracle数据库的数据差异比较方法,其特征在于,步骤(2)中,对于名称相同的数据库表,通过SQL语句,分别读取每一数据库表的所有字段及其属性,按照字段名排序,比较字段名和属性是否相同,输出不同的字段名和属性,具体包括如下步骤:

(21)如果没有未处理的表,结束处理;否则取出一个没有被处理过的数据库表名,分别从两个数据库的系统数据库表中取出该表的所有字段,通过SQL语句将数据库字段名、字段类型、长度、可否为空、是否为主键拼接为字符串,并按照字段名称排序;

(22)已经排序表字段字符串,利用类似步骤(14)的比较方法循环比较其中的字段属性是否有差异,如果有差异则输出差异项,并从listC中删除该表名,转到步骤(21);如果没有差异转到步骤(3)。

5.如权利要求1所述的基于Oracle数据库的数据差异比较方法,其特征在于,步骤(3)中,利用已经获取的数据库字段属性生成数据查询SQL语句,分别获取数据记录,并完成比对,具体包括如下步骤:

(31)从一个数据库的系统数据库表中取出其所有字段属性,包含字段名、字段类型、长度、可否为空、是否为主键,两个数据库的查询结果分别存储在链表中,链表元素包含字段名、字段类型、长度、可否为空、是否为主键;

(32)对所有字段,依据属性优先级不同进行排序,将主键、非空字段排在前面,生成数据库查询SQL语句,该语句将数据表中的所有数据记录按照数据库字段的优先级组合成若干字符串,字符串长度不超过Oracle数据库支持的单个字段最大长度,并进行排序,生成两个数据列表;

(33)利用类似步骤(14)的比较方法比较两个链表中数据差异,输出有差异的数据记录及统计结果;继续执行步骤(21)查询其它数据库表。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711021180.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top