【问题标题】:ODBC MySQL Connector: Does not work with chars like "ä, ö, ü"ODBC MySQL 连接器:不适用于“ä、ö、ü”等字符
【发布时间】:2013-07-25 01:16:03
【问题描述】:

我有一个 MSSQL 数据库,它与 mssql 中的“链接服务器”连接到 odbc 到 mysql 的连接。 MySQL 连接器版本为 5.2.3w,字符集设置为 UTF-8。

我尝试执行以下语句,例如在 mssql 中:

Insert Into openquery(VERBINDUNGSSERVERNAME, 'SELECT `D` FROM  `atd_ec_helper_delete`' )
Select * FROM ( 

Select 'Ä' as a
UNION
Select 'Ö' as a
UNION
Select 'ü' as a
UNION
Select '?' as a
UNION
Select '~' as a

) b

它添加了五行,但只插入了最后两行(?和~)。前三行在“D”行中没有数据,它只是空的。它不为空。

我做错了什么?感谢您的帮助!

【问题讨论】:

    标签: mysql odbc mysql-connector


    【解决方案1】:

    重要的是采用“w”ODBC 驱动程序,而不是“a”版本。 “w”版本用于 unicode 字符,“a”用于 ANSI。就我而言,我必须采用“w”版本。

    字符串将不再被剪切,但在我的情况下,使用 Openquery 的特殊字符将被设置错误。解决方案是使用

    EXEC('Insert Into ....') AT LINKEDSERVERNAME
    

    不幸的是,反之亦然......

    Insert Into LocalMSSQLTableName Select * FROM OPENQUERY(LINKEDSERVERNAME, 'Select * FROM MySQLTable') 
    

    就我而言,唯一的解决方案是编码特殊字符以避免这些问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      相关资源
      最近更新 更多