SQL Server迁移助手(SSMA):错误[22018] [MySQL] [ODBC 5.3(a)驱动程序] [mysqld-5.1.51-community]

Tec*_*ypo 8 mysql sql-server sql-server-migration-assi

我使用SSMA for MySQL从MySQL迁移到MSSQL,在几个表上我得到22018错误.经过大量的捣乱后,我发现由于俄语字符存储在这些表格中而产生错误.

例如: ????????????? ????

表中还有其他非英文字符,例如Profissão Jurídica,它们正好通过.

错误与排序和MySQL表上的排序规则有关latin1_swedish_ci,保存"外来"字符的列上有utf8_unicode_ci排序规则并且是a varchar(255).

MSSQL中的收件人表使用数据库默认collat​​ion(Latin1_General_CI_AS),而收件人列是a nvarchar(255).

在SSMA中,charset映射latin1默认设置CHAR/VARCHAR,我尝试将此设置为NCHAR/NVARCHAR无效.该类型映射varchar设置为nvarchar所有实例.

我发现的答案唯一接近的是这个帖子.除非我错过了答案,否则我看不到丢失的转换 - 或者是否存在?

Tec*_*ypo 31

在花了几个小时试图找出它为什么不起作用后,我找到了解决方案,当我开始放弃并在Access中使用链接表时,将一个传递查询导入MSSQL.

我使用错误的ODBC驱动程序.事实证明,安装了2个MySQL ODBC驱动程序ANSI和一个Unicode驱动程序.我在用ANSI.当我把它换成Unicode一切都很好!

Unicode ODBC驱动程序