我有一个 MS SQL 数据库,我想复制到一个 mysql 数据库,它是一个非常大的数据库,有一个大约有 200 万行的表,目前我正在使用 C# 中的代码复制它,它使用 datareader 循环遍历所有行在 SQL 表中并在 mysql 表中插入,但这需要很长时间,是否有其他替代方法可以复制数据库?数据库 mysql 和 ms sql 具有相同的表结构。
请指教,谢谢
Depending on the SQL Server edition you have available, you can use Integration Services, that handles the reading from SQL Server, type conversions, and writing to the target MySQL. It's optimized to do it as quickly as possible.
And it's not too hard to learn to use it.
You simply have to create a package, with a source (SQL Server), a destination (MySQL) and the extra components that you can find useful (probably only Change Type).
就像其他答案一样,您可以通过多种方式来做到这一点。我首先想到的是使用 SSIS 迁移数据。
http://www.packtpub.com/article/mysql-data-transfer-using-sql-server-integration-services-ssis
我不知道您是否愿意为此付费(我认为您应该在这种情况下)我建议您使用DBSync for MS SQL & MySQL。我的任务是将一个巨大的 25Gb 数据库从 SQL Server 迁移到 MySQL,这个小程序(与 277Mb Talend Open Studio 相比只有 17Mb)运行良好。
使用起来非常简单,只需按照步骤(5 个步骤)即可迁移数据库。我已经尝试过 Talend Open Studio,文档一点也不好,而且那里的学习曲线很长,而使用 DBSync,如果您曾经在 PC 上安装过软件,那么您也可以很容易地做到这一点。此外,如果您是喜欢在购买前进行测试的人之一,您可以尝试免费版本,它至少可以迁移数据库中所有表的前 50 行。我会毫不犹豫地尝试一下,如果您正在处理大量敏感数据,99 美元是一种享受。如果您发现任何更简单或更快的方法,请告诉我们,因为我经常迁移数据库,如果您有更好的方法,我将不胜感激。
您还可以查看 Talend Open Studio。我使用 TOS 将数据从包括 MS SQL 在内的多个数据库迁移到 MySQL 数据库。它易于学习且易于维护。