【问题标题】:Export MSSQL table records to MySQL in .sql file在 .sql 文件中将 MSSQL 表记录导出到 MySQL
【发布时间】:2018-04-12 08:30:40
【问题描述】:

我有一个 MSSQL 数据库并尝试迁移到 MySQL 数据库。问题是当我使用 MySQL WorkBench 时,我的 MSSQL 数据库中的一些表记录没有迁移(出现错误并且 MySQL Workbench 没有响应)。有没有什么工具可以将MSSQL表记录导出到SQL文件中兼容在MySQL中执行?

【问题讨论】:

  • 这不是导出,这是脚本。它也不起作用,因为每个数据库产品都有自己的语法怪癖和类型。 No 数据库遵循完整的 SQL 标准。这就是你得到错误的原因。如果要修改文件,请发布错误。虽然使用 SSIS 将数据直接从一个数据库传输到另一个数据库,或者将 MySQL 添加为链接服务器并直接复制数据,但要容易得多。
  • 如果目标表已经存在,您可以使用 SSMS 中的导出数据向导轻松地将数据从 SQL Server 复制到 MySQL。您可以保存向导生成的包以供以后使用,例如通过 SQL Server 代理按计划运行它
  • 至于 migration,您必须为很多缺失的功能找到解决方法,例如分析和窗口函数、datetimeoffset、不支持 nvarchar(它是带有MySQL 上的 UTF8 编码),没有序列,没有 rowversion 类型等。而且没有真正的备份,除非您购买 MySQL Enterprise 许可证或编译企业代码以便获得 mysqlbackup
  • @PanagiotisKanavos 我已经成功使用 mysql 工作台创建表创建脚本。问题是在迁移表记录时。我有几个包含很多记录的表(最大记录的表在表中有 30 万条记录).. 我正在尝试找到一种将记录导出到文件的方法,这样我就可以将数据库迁移到 MySQL 而无需连接到网络..我正在考虑使用bcp,但我从不使用它..有没有bcp教程可以导出MSSQL数据库中的所有表?

标签: mysql sql-server database database-migration


【解决方案1】:

T-SQLMySQL 都支持 VALUES 子句。所以,右击数据库,从Tasks中选择Generate scripts

然后你可以选择对象:

然后确保您也选择了获取数据:

您甚至可以获取架构并稍作更改以匹配MySQL 语法。

对于少量数据,这非常酷。如果要导出大表,最好使用其他工具。例如,使用bcp,您可以以CSV 格式导出数据,然后将其导入MySQL 数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2020-03-08
    相关资源
    最近更新 更多