- PR -

mysqlでODBC使用字の特定文字入力不可

1
投稿者投稿内容
RS
会議室デビュー日: 2006/08/25
投稿数: 7
投稿日時: 2006-08-28 10:17
RSといいます。
はじめて投稿させて頂きます。

環境は
 mysql 4.1.19
 ODBC  3.51.12
 mysqlcc 0.9.4
 access 2000
 OS   Win2000
でmysqlのデータをaccessで処理したいと考えています。
accessは以前から使用していましたがmysqlは初心者なので、色々な
Webを参考にシステムを構築しaccessからmysqlにデータを移行した所、
以下の様なアラームが発生しデータを登録出来ません。

[MySQL][ODBC3.51Driver][mysqld-4.1.19-community]you have an error in your
SQL syntax; check the manual that corresponds to your
MYSQL server version the right syntax to use near "表\\',21)' at line 1
(#1064)

上記はMYSQLをセットアップすると出来るDB"mysql"で試した時のアラームです。
自分で作成した、DBでも同じ様なアラームが発生します。

ちなみにデータ移行中なのでローカルパソコンでの発生ですが、別クラインアント
パソコン(OS:winXP)でも同様なアラームが発生します。

"表"以外の他の文字は特に問題無く登録出来ます。

文字設定は、セットアップ時に、"SJIS"としてODBCの設定には"SET NAMES SJIS"と
しています。

ODBCのVerの問題でしょうか?
だとしたら推奨のVerを教えて下さい。

つたない説明ですがご教授お願いします。

shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-08-28 10:31
SJISのまま使うのであれば「\」を含む文字(「表」など)はエスケープ処理しないといけないのでは?
RS
会議室デビュー日: 2006/08/25
投稿数: 7
投稿日時: 2006-08-28 12:14
RSです。
shimixさんレスありがとうございます。

エスケープ処理をWebで調べてみました。
ほんの少し解りました。

すいませんが具体的な処理の方法を教えて頂けないでしょうか?
>SJISのまま使うのであれば
 文字設定を変更すれば、エスケープ処理行わなくて良いのでしょうか?
 どの文字設定にすれば良いのでしょうか?

>エスケープ処理
 エスケープ処理はaccess側で処理すると思うのですが・・・
 良く解らなくてすいません。
 それともmysql側でしょうか?

参考になるWeb等教えて頂けると助かります。
RS
会議室デビュー日: 2006/08/25
投稿数: 7
投稿日時: 2006-08-31 12:32
RSです。

いろいろ調べたした結果、バグの様でした。
http://bugs.mysql.com/bug.php?id=11053

ODBCのVerがちょっと異なるがまったく同じ現象です。

取敢えず、『表』⇒『表 』にする事で登録出来る事が
解りましたので今回はこれで対応します。

shimixさん、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)