[前][次][番号順一覧][スレッド一覧]

mysql:13919

From: goungoun <goungoun <gounx2@xxxxxxxxxx>>
Date: Thu, 26 Apr 2007 00:34:44 +0900
Subject: [mysql 13919] Re: Access2002+MyODBCでエラー

こんにちは。

On Wed, 25 Apr 2007 11:32:19 +0900 (JST)
t-fujita@xxxxxxxxxx wrote:
> 
> > つまり、Access が生成する SQL のキャラクタセットってどこかで設定可能なのでしょうか?
> ODBCやDSNの画面にはみあたりませんでした。
> ですので設定するのはできないのではないかと思います。

グーグル先生に、以下キーワードで聞くと
・myodbc 3.51 cp932
・"read options from my.cnf"
わりと有名な問題のようですね。

環境依存性もあるような感じですが・・・

ずばり、こんなのが出てきました。
http://okumurya.homeip.net/pukiwiki/pukiwiki.php?MySQL%204.1.20%20%2B%20MyODBC%203.51.12%20%2B%20MS%20Jet%204.0.9025%20%2B%20Microsoft%20Access

で、私もやってみました。
・クライアント(ODBC)は、mysql-connector-odbc-3.51.14-win32.msi
・サーバは、
  $ sudo mysqld --version
  mysqld  Ver 5.0.32-Debian_7etch1-log for pc-linux-gnu on i486 (Debian etch
distribution)

まず、ODBCのユーザDSNを「mysql」という名前で作りました。
ODBC設定のオプション類はすべてチェックオフ(デフォルト)です。

で、以下を実行すると。
odbc_test.js
----------------------------------------------------
var conn = new ActiveXObject("ADODB.Connection");
var rs = new ActiveXObject("ADODB.Recordset");
conn.Open("Provider=MSDASQL; Data Source=mysql");
var sql = "SELECT '<十>' AS item1;";
rs.Open(sql, conn);
WScript.Echo(rs.Fields("item1").Value);
rs.Close();
conn.Close();
----------------------------------------------------
文字化けしました。

次に、conn.Open()の後に
----------------------------------------------------
conn.Execute("set names cp932;");
----------------------------------------------------
を追加して、実行すると
文字化けせずに表示されました。

次に、ODBCの設定から「"read options from my.cnf"」をチェックして
c:\winnt\my.cnf
----------------------------------------------------
[client]
default-character-set=cp932
----------------------------------------------------
としてから、最初のスクリプト(set names無し版)を実行しても、
文字化けせずに表示されました。

あと、公式の以下に「様々な構成で推奨する option 値の例のリスト」
というのがあるので、それらはチェックしておいたほうがよさげですね。

MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 9.1.3.5 Connector/ODBC Connection Parameters:
http://dev.mysql.com/doc/refman/5.1/ja/myodbc-configuration-connection-parameters.html

ps.
私の環境でODBCのInitialStatementに
「set names cp932」とすると、エラーが出て
DSN定義が壊れてしまいました。ところが、
少し時間をおいて、何気にもう一度設定すると
何の問題も無く設定できました。
この設定で、最初のスクリプト(set names無し版)を実行しても、
文字化けせずに表示されました。


-- 
goungoun <gounx2@xxxxxxxxxx>
http://goungoun.dip.jp/app/


[前][次][番号順一覧][スレッド一覧]

     13906 2007-04-25 11:32 [<t-fujita@xxxxxxxxxx] Re: Access2002+MyODBCでエラー           
->   13919 2007-04-26 00:34 ┗[goungoun <gounx2@xxx]                                       
     13920 2007-04-26 08:45  ┣["fujita" <t-fujita@x]                                     
     13923 2007-04-26 12:18  ┃┣["T.Hirotsu" <hirotsu]                                   
     13925 2007-04-26 18:20  ┃┃┗[goungoun <gounx2@xxx]                                 
     13924 2007-04-26 17:04  ┃┗[goungoun <gounx2@xxx]                                   
     13926 2007-04-27 09:58  ┃ ┣["fujita" <t-fujita@x]                                 
     13927 2007-04-27 17:20  ┃ ┗[ezaki <kjc_post@xxxx]                                 
     13921 2007-04-26 11:25  ┗[ezaki <kjc_post@xxxx]