【问题标题】:SQL Server to Mysql migration (using Mysql Workbench) data transfer errorSQL Server 到 Mysql 迁移(使用 Mysql Workbench)数据传输错误
【发布时间】:2016-03-17 21:04:03
【问题描述】:

我正在使用 Mysql Work bench(6.3) 将数据库从 MS Sql server(2008) 迁移到 Mysql。它在“批量数据传输”期间出错,并出现以下警告。这只发生在 (varchar, char) 之类的列类型中。当我尝试使用所有“int”列的表时,没有问题。这是我尝试迁移带有列 (Name(char),age(int),Type(varchar)) 的“Boy”表时得到的日志

> `[WRN][      copytable]: 20 characters could not be converted to UTF-8 from column Name during copy
   [WRN][      copytable]: 24 characters could not be converted to UTF-8 from column Type during copy
   [INF][      copytable]: Statement execution failed: Data too long for column 'Name' at row 1:

INSERT INTO `Test`.`Boy` (`Name`, `Age`, `Type`) VALUES ('John       \0 `Test`.`Boy` (`Name',10,'Type is Lien\0\0\0\0�\�7\0\0\0\0\0\0\0\0\0\0\0\0\0\0d\0\0defperformance_schemasession_variablessession_variables\rVariable_name\rVARIABLE_NAME\0@\0\0\0�\0\0\0]\0\0defperformance_schemasession_variablesse')`

MSsql 中的排序规则在 MySQL 中是 Latin1 和 UTF8。
此外,将表数据导出到平面文件并将其导入 Mysql 工作(但这是表到表而不是批量传输)..

【问题讨论】:

  • 插入查询看起来很奇怪。为什么小约翰尼的名字中似乎嵌入了表/字段名称?
  • 即工作台生成的插入语句。不知道为什么它会这样创建..
  • 好吧,有些东西导致数据损坏。

标签: mysql sql migration


【解决方案1】:

只需下载 mysql workbench 6.3.8。修复了使用 ODBC(native) 连接方法时“无法成功将 UCS-2 字符串转换为 UTF-8”的错误

【讨论】:

    【解决方案2】:

    我发现我必须执行以上所有操作,但它仍然不会只迁移一个表。 我检查了这张表,它包含 mu 符号 μ

    我删除了这个流氓角色,迁移继续成功。

    【讨论】:

      【解决方案3】:

      连接方式应为 ODBC 数据源(免费 TDS),并且需要在高级选项卡中启用“驱动程序将 Unicode 数据发送为 UTF-8”。

      如果您看到任何数据迁移错误,例如“Statement execution failed: Incorrect string value: '\xA310 pe...' for column'”

      将存储引擎INNODB更改为MYISAM并重启Mysql服务

      【讨论】:

        【解决方案4】:

        将源连接方法从“ODBC 数据源”更改为“ODBC 数据源(免费 TDS)”有效。如此链接中所述http://www.martin-brennan.com/could-not-successfully-convert-ucs-2-string-to-utf-8/

        【讨论】:

        • 我已经尝试了几天来弄清楚如何获得 FreeTDS。首先,FreeTDS 站点的所有下载都是离线的,所以我查看了 sourceforge,那里没有什么好东西可用。然后我尝试编译 FreeTDS.dll 以便我可以使用 ODBC 驱动程序,但它已编译,但它不起作用。你有文件 FreeTDS.dll 吗?
        • 对我来说,工作台已经编译好了。 MySQL 工作台 6.3。 ODBC 数据源(FreeTDS) 但是......数据复制在 16 个表上仍然失败,尽管结构全部完成并且大部分数据都完成了。我正在将表格转储到 csv 并构建一个脚本来导出/导入......这总是有效的。如果没有好的分隔符可以使用(因为数据包含所有分隔符),您可以转储到 xls 并使用 xls 库导入。 Workbench 只需要一点点调整 ;-) 仍然可以节省大量工作...
        猜你喜欢
        • 2013-11-12
        • 2012-07-31
        • 2014-10-15
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 2013-06-17
        • 1970-01-01
        • 2012-05-14
        相关资源
        最近更新 更多