我正在使用 SSMA for MySQL 从 MySQL 迁移到 MSSQL,并且在几个表上我收到 22018 错误。经过大量的讨论后,我发现由于这些表中存储了俄语字符而产生了错误。
例如:Бухгалтерский учет
表格中还有其他非英文字符,例如Profissão Jurídicaand they are come through OK。
错误与排序规则有关,MySQL 表上的排序规则是latin1_swedish_ci,包含“外来”字符的列上有utf8_unicode_ci排序规则,并且是varchar(255).
MSSQL 中的收件人表使用数据库默认排序规则 ( Latin1_General_CI_AS),收件人列是nvarchar(255).
在 SSMA 中,字符集映射设置为latin1默认值CHAR/VARCHAR,我尝试将其设置为NCHAR/NVARCHAR但没有成功。所有实例的类型映射varchar都设置为nvarchar。
我找到的唯一接近答案的是这个帖子。除非我错过了答案的重点,否则我看不到缺少转换-或者是否存在?

