0

最近我们有从 MySQL 到 SQL Server 的所有 ETL。显然数据类型已经改变。

有没有办法在 MySQL 和 SQL Server 表之间进行详细的快速数据比较(不考虑数据类型)。

我知道除了校验和之外,哈希字节也会考虑数据类型。

我只想将“abc”与“abc”进行比较

谢谢你的帮助。

4

2 回答 2

0

我认为您可以openrowset()在 SQL Server 中使用从 MySQL 数据库中的表或视图获取数据,然后根据当前 SQL Server 数据库中的表或视图检查其字段。
像这样的东西:

select *
from openrowset(N'MSDASQL',N'Driver={MySQL ODBC 5.1 Driver};Server=192.xxx.xx.xxx;Database=xxx_view;User=xxx_user27;Password=xxxx;Option=3;', 
    N'SELECT * FROM xxx_view.abc LIMIT 1000') mysqlAbcTable  
full outer join sqlserverAbcTable 
  on mysqlAbcTable.fieldAbc = sqlserverAbcTable.fieldAbc;

<< Here is a stream about this >>

于 2017-08-23T14:12:32.743 回答
0

据我所知,有两种方法可以实现这一点-:

手动比较 -:您可以检查 mysql 和 sqlserver 表中的记录数以及某些数据子集您可以比较 MySQL 和 SQL Server 数据库之间的数据。或者您可以从 Excel 中的源和目标下载数据样本,并使用宏进行数据比较和验证。

使用 DB 比较工具 - 有一些 DB 比较工具,如 Query Surge、BI Validator、DB Solo 等可用于数据比较。使用这些工具,您可以在您的案例中比较两个不同的数据库(如 Mysql 和 sql Server)之间的数据。这些工具可以提供高达 100% 的数据覆盖率。

于 2018-03-31T13:22:22.117 回答