【问题标题】:Export SQL Server database from MySQL import从 MySQL 导入导出 SQL Server 数据库
【发布时间】:2012-03-22 21:00:45
【问题描述】:

我有 .net 脚本访问 microsoft 服务器,我需要将这一端的数据库与另一端的 LAMP 服务器同步。目前我已经编写了自己的 CSV 导出例程和一个匹配的导入器,但它在压力下吱吱作响。有没有更有效的方法来解决这个问题?我可以以某种方式将 CSV 导出直接流式传输到 IIS 吗?

我知道如果我有更多权限,我可以运行 BACKUP DATABASE 命令,然后使用 FTP 将备份运行到另一台服务器,并希望找到某种方法将其导入 MySQL。但是,这不是一个选项。

【问题讨论】:

  • 您能解释一下为什么@ta.speot.is 提出的答案不被您接受吗?你能解释一下你拥有哪些特权
  • @eggyal 我限制了 FTP 访问和上传 .aspx.vb 脚本的能力。
  • 你不能链接服务器,因为...?
  • 您将无法在 MySQL 系统上恢复 MSSQL 备份。所以这个想法是不可能的。您可能能够在某种程度上在 MSSQL 备份上运行 MySQL 备份,但这需要您编辑备份脚本。

标签: mysql sql-server


【解决方案1】:

如果可以从 MSSQL 服务器访问 MySQL,那么您可以在 MSSQL 中创建一个链接服务器,并在 MSSQL 中将MERGEINSERTUPDATE 或其他任何东西放入 MySQL 的表中。

【讨论】:

    【解决方案2】:

    您可以编写具有 .NET DataReaders 的脚本来打开 MS SQL 上的游标,然后使用连接到 MySQL 的另一个连接逐行插入数据。您可以按顺序处理所有表。

    【讨论】:

      【解决方案3】:

      我做过类似的事情。最简单的方法是在 MSSQL 服务器和 MySQL 服务器之间建立直接连接。您在 MSSQL 中设置一个链接服务器到 MySQL 服务器,然后使用插入、更新等对链接服务器进行事务。这就是ta.speot.在他的回答中提到的。但是,您没有到 MySQL 服务器的直接链接,因此该选项不可行。

      另一种选择是使用 MSSQL 服务代理。使用服务代理,您可以将单个更新、删除和插入排队到 Web 服务。该网络服务可以托管在 IIS 上。将从队列中调用 Web 服务,然后您可以一次将单个事务应用到 MySQL 数据库。服务代理是嵌入在 MSSQL 2005+ 中的异步消息传递系统。有了它,您可以将消息发送到其他服务器、数据库甚至外部服务。

      请记住,Service Broker 架构需要时间来学习和实施。我使用服务代理在 celeron 笔记本电脑上每天处理超过 8800 万笔事务,在 mssql 和 mysql 之间创建了自定义复制架构。只是需要一些严重的肘部油脂。

      更新 似乎 SQL2008 允许您以某种方式在 SQL 服务器之外运行服务代理。请参阅此链接http://blogs.msdn.com/b/sql_service_broker/archive/2008/11/21/announcing-service-broker-external-activator.aspx 我不知道这是否可能更适合您的街道。

      【讨论】:

      • 可以通过.net设置服务代理吗?
      • 没有服务代理都是 SQL。您需要在 MSSQL 服务器上执行此操作。
      • 那么我没有骰子。不过感谢您提供有趣的答案。
      • 您能在问题中添加一些细节吗?我相信一定有办法帮助你。只是细节是粗略的一面。
      【解决方案4】:

      生成适合在 MySQL 服务器上运行的 SQL 脚本,而不是 CSV 文件

      【讨论】:

        【解决方案5】:

        我不知道这是否会有所帮助,但很久以前我创建了一个小软件来使用大型数据集执行此特定任务,这里是:

        http://csvimporter.codeplex.com/

        我把它开源了:)

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-27
          • 1970-01-01
          • 2013-06-08
          • 2011-02-06
          • 1970-01-01
          • 2011-05-01
          • 1970-01-01
          相关资源
          最近更新 更多