mysql:12467
From: "fujita" <"fujita" <t-fujita@xxxxxxxxxx>>
Date: Thu, 17 Nov 2005 14:35:36 +0900
Subject: [mysql 12467] MsAccessにリンクテーブルすると更新できない
藤田と申します。 いつも勉強させていただいております。 今回 http://dev.mysql.com/downloads/connector/odbc/3.51.html より mysql-connector-odbc-3.51.12-win32.msiをDLし、Accessにリンクテーブル したところ、特定の文字(十・ソなど)が最後尾にくるとそのレコードが更新できな い現象が発生しました。 どなたか原因や回避策をご存知の方がいらっしゃいましたらご教授下さい。 環境 サーバー: OS:Windows2003 SE SP1 MySQL: 4.1.14(5.0.15でも確認済) 文字コードは全てsjisで統一しています (my.ini の[mysqld][client][odbc]セクションにもdefault-characterset=sjisと記 述。 データベースやテーブルを作成する際も全てsjisで作成しています) クライアント WinXP Pro SP1 + Access 97(Access2003でも確認ずみ) Win2000Pro + Access97 ODBCドライバ 3.51.12 行った手順 上記ドライバをデフォルトでインストール。その後、DSNを作成して Initial Statementに「set names sjis」と記述。 そしてサーバーの任意のテーブルをAccess側からリンク。 その後、Accessのリンクテーブルから「四万十」「ピカソ」などをインプットしよう とすると エラーが発生して更新できませんでした。 エラーメッセージを見るとsyntaxエラーで、実際にMySQLに投げられているSQLが 「四万十」が「四万十\」に、「ピカソ」が「ピカソ\」となっているのが原因のよう です。 ただ、「十」や「ソ」が文字列の途中に入っていた場合はエラーになりません。 (「ユンソナ」だと 正常に更新されます) また、VBA等でADO接続してSQLを投げた場合でもエラーにはなりません。 ODBCを3.51.9にダウンさせると正常に更新できました。 文字コードの問題だとは思うのですが、どこでどのように設定したらよいか調べてみ たのですが わかりません。 以上よろしくお願いいたします。 ++++++++++++++++++++++++++++++++++++++ 藤田 健 mailto:t-fujita@xxxxxxxxxx