Sql server 比较两个不同数据库(Oracle与SQL Server)之间的两个表(相同的结构和数据)
关于如何比较存储在结构和数据完全相同的不同数据库中的两个表的任何建议 Oracle支持DBMS\u SQLHASH.GETHASH:Sql server 比较两个不同数据库(Oracle与SQL Server)之间的两个表(相同的结构和数据),sql-server,oracle,checksum,Sql Server,Oracle,Checksum,关于如何比较存储在结构和数据完全相同的不同数据库中的两个表的任何建议 Oracle支持DBMS\u SQLHASH.GETHASH: SELECT DBMS_SQLHASH.GETHASH('SELECT <Field1> FROM <TABLE1> order by <FIELD1>', 2) AS hash_value FROM DUAL MySQL不是微软的。你是说SQL Server吗?MySQL是Oracle公司拥有的数据库引擎。SQL Serv
SELECT DBMS_SQLHASH.GETHASH('SELECT <Field1> FROM <TABLE1> order by <FIELD1>', 2) AS hash_value
FROM DUAL
MySQL不是微软的。你是说SQL Server吗?MySQL是Oracle公司拥有的数据库引擎。SQL Server是Microsoft拥有的数据库引擎。没有“微软MYSQL”这样的东西。您实际使用的是哪个数据库?我猜是Microsoft SQL Server。是的。。在我纠正之前你就发现了:)。。我们正在使用Oracle和Mircrosoft。这种情况需要多久发生一次?有多少数据?比较需要多快进行?便宜的选择是在Oracle中创建指向SQL Server的数据库链接,或在SQL Server中创建指向Oracle的链接服务器,然后运行一个只比较表中数据的查询。但这显然需要在网络上移动所有数据,而网络的扩展性不太好。尝试使用内置散列通常会失败,因为日期等内容的散列方式可能存在差异(二进制表示不同)。Oracle中的
dbms\u crypto
包实现了您想要选择的大多数散列,包括MD5,您需要弄清楚如何使用XQuery传递SQL Server查询返回的相同字符串。
HASHBYTES('MD5',
SELECT Field1
FROM table1.field1
order by field1
FOR XML RAW ))