SQL server 往MySQL插入数据报错

Procedure execution failed
42000 - [SQL Server]链接服务器 "mysqldb" 的 OLE DB 访问接口 "MSDASQL" 报错。提供程序未给出有关错误的任何信息。
42000 - [SQL Server]链接服务器 "mysqldb" 的 OLE DB 访问接口 "MSDASQL" 无法 INSERT INTO 表 "[MSDASQL]"。未知的提供程序错误。

SQL server 往MySQL插入数据报错 访问接口 MSDASQL 无法 insert into ,主要不能写入带有中文字符的字段,该怎么解决?

这个错误一般是由于不兼容字符集导致的。推荐您检查以下几个方面:

  1. 确认MySQL和SQL Server使用相同的字符集,比如UTF-8。

  2. 检查MySQL连接和表的字符集设置是否正确。可以使用以下命令来查询:

SHOW VARIABLES LIKE 'character_set_connection';

SHOW VARIABLES LIKE 'character_set_database';

  1. 确认插入的数据中没有非法字符。可以尝试将数据转换成UTF-8编码格式,再插入到MySQL中。

  2. 如果以上措施都无效,可以尝试使用MySQL提供的ODBC驱动来访问MySQL数据库,因为MSDASQL是过时的接口。在使用ODBC驱动时,需要确保ODBC数据源使用的字符集与MySQL数据库一致。

希望以上建议可以帮助您解决问题。