我使用SSMA for
MySQL从
MySQL迁移到MSsql,在几个表上我得到22018错误.经过大量的捣乱后,我发现由于俄语字符存储在这些表格中而产生错误.
例如:Бухгалтерскийучет
表格中还有其他非英文字符,例如ProfissãoJurídica,它们正在通过OK.
错误与排序规则有关,MysqL表上的排序规则是latin1_swedish_ci,保存“外来”字符的列上有utf8_unicode_ci排序规则,并且是varchar(255).
MSsql中的收件人表使用数据库默认排序规则(Latin1_General_CI_AS),收件人列是nvarchar(255).
在SSMA中,latin1的charset映射设置为CHAR / VARCHAR的默认值,我尝试将此设置设置为NCHAR / NVARCHAR但没有成功.对于所有实例,varchar的类型映射都设置为nvarchar.
我找到的唯一接近答案的是this posting.除非我错过了答案的要点,否则我看不到丢失的转换 – 或者是否存在?