加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server迁移助手(SSMA):错误[22018] [MySQL] [ODBC 5.3(a)驱

发布时间:2020-12-12 06:46:18 所属栏目:MsSql教程 来源:网络整理
导读:我使用SSMA for MySQL从 MySQL迁移到MSSQL,在几个表上我得到22018错误.经过大量的捣乱后,我发现由于俄语字符存储在这些表格中而产生错误. 例如:Бухгалтерскийучет 表格中还有其他非英文字符,例如Profiss?oJurídica,它们正在通过OK. 错误与
我使用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时一切都很好!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读