【问题标题】:Copy Database Structure From MS SQL 2005 to MySQL 5.1将数据库结构从 MS SQL 2005 复制到 MySQL 5.1
【发布时间】:2011-04-04 13:27:32
【问题描述】:

我想用 MS Sql Server 2005 到 My SQL 5.1 的存储过程复制没有数据(只有结构)的数据库。有没有一种简单的方法可以做到这一点。

我已经安装了 MySQL Workbench 5.2

【问题讨论】:

    标签: mysql database sql-server-2005 migration


    【解决方案1】:

    在 SQL Server Management Studio 中,您可以右键单击数据库并转到 Tasks->Generate Scripts... 然后你基本上可以生成将在 MySQL 中工作的 SQL 查询

    我的第一个想法是不要在查询中包含任何索引、约束或外键内容,因为 MySQL 处理这些内容的方式与 SQL Server 完全不同。

    只需练习几次,记下在 MySQL 中使用查询时导致错误的原因。

    利用 MySQL 如何处理您的数据库对象的知识,您可以尝试创建存储过程来生成查询,这些查询将在 MySQL 上创建这些对象,然后针对 MySQL 数据库执行它们。

    编辑:
    好的,所以您想将存储过程从 SQL Server 移动到 MySQL。如果存储的过程很复杂,这是一件相当棘手的事情。 这是我建议您在询问有关您的问题的更具体问题之前阅读的基本概述。
    http://dev.mysql.com/tech-resources/articles/migrating-from-microsoft.html
    我的建议是您阅读本文,然后尝试迁移您的存储过程,如果遇到错误,请回来询问有关它们的具体问题。

    【讨论】:

    • 哦,我想我问错了问题。我的真正意思是,我想复制一个包含许多表和许多存储过程的数据库结构。我不想用存储过程来做,我希望存储过程也被复制。我想在 MySql 中复制相同的数据库。
    • 生成脚本仍然可以工作,因为这将使您能够编写出要移植到 MYSQL 的脚本。您将需要执行大量测试以确保一切正常,您会发现一些使用 T-SQL 语法而不是 ANSI 标准的 SQL
    • 我在安装 MySQL 和 MySQL 工作台的 GUI 工具时发现了一个名为“MySQL Migration Tool”的工具。使用这个我迁移了带有表的数据库,但是存储过程没有迁移。目前我正在一个一个地转换存储过程。如果在转换过程中出现任何问题,我会尽快回复。
    • 在我的许多存储过程中,我使用“SELECT Top(@RecordCount) * FROM TABLE”,其中@RecordCount 是一个参数。当我将此 sp 转换为 MySQL 例程时,它会出错。我无法通过 LIMIT 语句传递 @RecordCount。任何实现这一目标的方法。提前致谢...
    猜你喜欢
    • 1970-01-01
    • 2010-09-15
    • 2019-06-15
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多