前言:
此时姐妹们对“java实现两个表数据对比”大体比较看重,看官们都需要剖析一些“java实现两个表数据对比”的相关文章。那么小编同时在网络上汇集了一些有关“java实现两个表数据对比””的相关知识,希望兄弟们能喜欢,小伙伴们一起来了解一下吧!本文测试方法旨在更精确比对表记录内部数据差异,记录数量的对比只是恢复准确率的必要条件,而记录内部的字段数据内容是否一致,才是比较的终极目标。
一、 测试目的:在很多情况下,数据导出是以记录数量来衡量是否齐全。在某些情况下,数据记录数量导出是一致的,但,记录内部数据却出现差异,比如某些数字字段,一旦出现差异,其结果将带来不准确。本测试大纲目的是比对表中记录数据是否有差异,一旦出现差异,想办法修改软件,达到更准确的恢复效果。
二、测试工具:tablediff.exe,这个工具就用于表内部数据比较,是MS SQL Server自带的一个工具。各位可以自行搜索自己机器上的这个文件所在的路径。
三、构建数据表比较SQL语句:
use UFDATA_006_2015_好酷
SELECT 'tablediff.exe -sourceserver 127.0.0.1\SQL2008R2 -sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷 -sourceschema dbo -sourcetable '+object_name (id)
+' -destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_006_2015_好酷_out -destinationschema dbo -destinationtable '
+object_name (id)+' -et Difference -f c:\data\'+object_name (id)+'.sql' as SQL
from sysObjects where type ='U'
解析:-sourceserver 127.0.0.1\SQL2008R2 原始数据库实例
sourceuser sa -sourcepassword dst -sourcedatabase UFDATA_006_2015_好酷
sa是原始数据库用户,dst是sa用户的密码,各位根据自己的设置更改,UFDATA_002_2017_原始好库是原始数据库。
-destinationserver 127.0.0.1\SQL2008R2 -destinationuser sa -destinationpassword dst -destinationdatabase UFDATA_002_2017_好库导出
127.0.0.1\SQL2008R2 是目标数据库实例,可以跨越实例比较,sa dst UFDATA_006_2015_好酷_out 都是目标数据库用户名、密码、库名称
f c:\data\'+object_name (id)+'.sql' 这个是把比较结果,写道c:\data目录下,用表的名字命名。
四、语句执行方法:
找到tablediff.exe文件路径
进入cmd模式下,在路径上输入cmd,回车
把得到的SQL语句复制,贴到cmd窗口上。
建好c:\data 目录,修改好权限
设置sa登录,及密码
把得到的SQL语句复制,贴到cmd窗口上:
自动运行:
五、等待运行结果
标签: #java实现两个表数据对比