【问题标题】:How do I convert mySql SQL script to MS SQL one?如何将 mySql SQL 脚本转换为 MS SQL 之一?
【发布时间】:2011-12-10 20:40:00
【问题描述】:

我必须将客户 MySql 数据库架构/数据迁移到 MS SQL SERVER 2008。最后我收到了 70 Mb SQL 文件,其中包含与 MSSQL 不兼容的 mySQL 方言。

DROP TABLE IF EXISTS `kladr`;
CREATE TABLE `kladr` (
  `id` int(11) NOT NULL DEFAULT '0',
  `idp` int(11) DEFAULT NULL,
...

花了一周的时间才收到这样的文件,所以我不敢要求 MySQL 管理员向我发送与 MS SQL SERVER 兼容的 sql。有没有办法自动将 mySQL 方言转换为 MSSQL SERVER 方言?

【问题讨论】:

  • 您找到了一个好的解决方案吗?我也需要这个。

标签: mysql sql sql-server


【解决方案1】:

SQLines 提供工具和服务来帮助您传输数据、将数据库架构 (DDL)、视图、存储过程和函数、触发器、查询、嵌入式 SQL 语句和 SQL 脚本从 MySQL 转换为 Microsoft SQL Server。

http://www.sqlines.com/online

【讨论】:

  • 编辑器不再转换 - 您可以粘贴 MySQL 等,但按下转换时没有任何反应。
  • 它对我有用。也许您没有更改目标类型
  • 这东西有很多错误!每当我转换一个mysql数据库时,都会出现很多错误
【解决方案2】:

最简单的方法是获取转换器。有多种选择,但可能很难找到一个好的选择:有很多垃圾邮件可供选择,当然都是要花钱的。

微软有在线迁移手册:http://technet.microsoft.com/en-us/library/cc966396.aspx

您将需要一些 mysql 工具和一些 mssql 工具,如上链接所述。

添加一个简短的摘录:
如果您查看名为“使用数据加载”的部分。您已经拥有的导出文件可能没问题,因此您可以跳过“生成 mysqldump 数据提取脚本”。

现在你需要的部分:

将提取的脚本与 SQL 查询分析器一起使用
生成的脚本现在可用于创建数据库对象和插入数据。从 MySQL 脚本构建数据库模式的首选方法是使用 SQL Server 2000 中包含的 SQL 查询分析器工具。
您可以直接从“开始”菜单或从 SQL Server 企业管理器中运行 SQL 查询分析器。您还可以通过执行 isqlw 实用程序从命令提示符运行 SQL 查询分析器。
为了使脚本正确执行,需要进行一些额外的工作,其中涉及对 SQL 方言的某些更改。此外,请记住遍历 SQL 脚本并将数据类型更改为与 SQL Server 兼容的类型。下图显示了从 mysqldump 导入的脚本,需要注意的是转储是一个 ASCII 脚本文件。

【讨论】:

  • 我认为他只是想转换 sql 脚本并且不知道 mysql 的连接详细信息,如 host 和 acct(猜想我现在需要获取 wordpress 博客
  • 是的。如果您查看该链接,您会发现标题“使用数据加载”。 OP 已经拥有的导出文件是您需要连接详细信息的文件,如“生成 mysqldump 数据提取脚本”部分所述。所以你可以跳过这一步,然后从那里开始。
【解决方案3】:

有几种方法可以测试 SQL 中是否存在表。这是一种方法。

if object_id('<table>','U') is not null  drop <table>

所以你需要转换所有的

DROP TABLE IF EXISTS `kladr`;

到那个语法。请注意,还有其他方法可以查看表是否存在。

此外,MS-SQL 不使用 `(反引号)字符,因此您需要删除所有这些字符。但是,当前被反引号包围的某些字段/表名称可能是保留字,在这种情况下,您需要用括号将这些字段/表用 [fld_name] 分隔。

您可能还会在创建表的语法上遇到一些差异,基本语法也相似。上面的例子可以在 MS-SQL 中运行...

您可以通过脚本编辑来做到这一点,但我强烈建议使用上面 Nanne 建议的链接。祝你好运

【讨论】:

    【解决方案4】:

    您可以从收到的 MySQL 脚本(重新)创建 MySQL 数据库并使用数据库转换工具。我过去使用过FullConvert,效果很好。支持多种数据库,速度非常快!

    【讨论】:

    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2012-11-15
    • 2010-12-18
    • 2016-04-14
    • 1970-01-01
    相关资源
    最近更新 更多