微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我使用SSMA for MySQLMySQL迁移到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时一切都很好!

原文地址:https://www.jb51.cc/mssql/77909.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐