最近我们有从 MySQL 到 SQL Server 的所有 ETL。显然数据类型已经改变。
有没有办法在 MySQL 和 SQL Server 表之间进行详细的快速数据比较(不考虑数据类型)。
我知道除了校验和之外,哈希字节也会考虑数据类型。
我只想将“abc”与“abc”进行比较
谢谢你的帮助。
最近我们有从 MySQL 到 SQL Server 的所有 ETL。显然数据类型已经改变。
有没有办法在 MySQL 和 SQL Server 表之间进行详细的快速数据比较(不考虑数据类型)。
我知道除了校验和之外,哈希字节也会考虑数据类型。
我只想将“abc”与“abc”进行比较
谢谢你的帮助。
我认为您可以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;
据我所知,有两种方法可以实现这一点-:
手动比较 -:您可以检查 mysql 和 sqlserver 表中的记录数以及某些数据子集您可以比较 MySQL 和 SQL Server 数据库之间的数据。或者您可以从 Excel 中的源和目标下载数据样本,并使用宏进行数据比较和验证。
使用 DB 比较工具 - 有一些 DB 比较工具,如 Query Surge、BI Validator、DB Solo 等可用于数据比较。使用这些工具,您可以在您的案例中比较两个不同的数据库(如 Mysql 和 sql Server)之间的数据。这些工具可以提供高达 100% 的数据覆盖率。