【问题标题】:How to compare a table of SQL Server to a table of MySQL如何将 SQL Server 的表与 MySQL 的表进行比较
【发布时间】:2017-08-23 14:00:18
【问题描述】:

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

有什么方法可以在 MySQL 和 SQL Server 表之间进行detail快速数据比较(不考虑数据类型)。

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

我只想比较“abc”和“abc”

感谢您的帮助。

【问题讨论】:

  • 这在这里没有多大意义。你想做什么?
  • 他正在将数据从MYSQL 迁移到SQL-Server,并想检查两个DBMS 上的数据是否相同,而不必关心数据类型。

标签: mysql sql-server data-comparison


【解决方案1】:

我认为您可以在 SQL Server 中使用 openrowset() 从 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 >>

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-14
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2011-05-24
      相关资源
      最近更新 更多