2017-02-10 4 views
0

Mssqlインスタンスを使用していて、openqueryでリンクされたサーバーにINSERTをしようとしていますが、mysqlのインスタンス照合文字の問題へのMSSQLのリンクされたサーバー

私のリンク先サーバーはMySQLインスタンスutf8_general_ciに接続して構築します。MySQL odbc 5.3ユニコードドライバを使用しています。詳細については、すでにcharsetにutf8を指定しています。私は私のコードの主要な部分をコピーします

insert openquery (MySQL_OBDC_UNICODE,'select id,chinesedescription 
from chinesecodes') 

(select id, descchinese from openquery (SQLSERVER_ODBC,'SELECT id,descchinese FROM tbarticles where idlanguage=''CN''')) 

私だけ実行すると2番目のSQL Server Management Studioの中国の記述がOKに示された命令を選択するが、私は、MySQLへの挿入は、サーバーをリンクさせるしようとすると、それは私を示し、以下:リンクサーバー「MYSQL_OBDC_UNICODE」の

プロバイダOLE DB「MSDASQLは」 によるコラム 「chinesedescription」に「[MSDASQL]」表に挿入できませんでした。値は列 の完全性の制限を満たしていません。

私に提供するための具体的な詳細が必要な場合は教えてください。

答えて

0

いくつかの研究を行った後、私は私のリンクサーバーの照合問題の解決策を思い付いた:

1)私はChinese_PRC_CI_ASを照合するために私のソースリンクサーバーに照合を余儀なくされました。 MySQLのUNICODE ODBCドライバで

(ID、OPENQUERY(SQLSERVER_ODBC、からdescchinese 'IDを選択し、tbarticles FROM descchinese Chinese_PRC_CI_AS idlanguage =' 'CN' を選択 ''))

2)私は文字セットを残し私がUTF8を使用する前に2回エンコードしていたので、空白にする

他人に役立つことを願っています!

関連する問題