我正在使用 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 中的排序规则为 Latin1,MySQL 中的排序规则为 UTF8。
另外,将表数据导出到平面文件并将其导入到 Mysql 中是可行的(但这是表到表而不是批量传输)..
将源连接方法从“ODBC 数据源”更改为“ODBC 数据源(免费 TDS)”有效。正如此链接中所解释的http://www.martin-brennan.com/could-not-successively-convert-ucs-2-string-to-utf-8/ http://www.martin-brennan.com/could-not-successfully-convert-ucs-2-string-to-utf-8/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)