SQL Server迁移助手(SSMA):错误[22018] [MySQL] [ODBC 5.3(a)驱
我使用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.除非我错过了答案的要点,否则我看不到丢失的转换 – 或者是否存在? 解决方法在花了几个小时试图找出它为什么不起作用后,我找到了解决方案,当我开始放弃并使用Access中的链接表然后传递查询到MSSQL.我使用错误的ODBC驱动程序.事实证明,有2个MySQL ODBC驱动程序安装了ANSI和Unicode驱动程序.我正在使用ANSI.当我把它换成Unicode时一切都很好! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |