Hatena::ブログ(Diary)

Lazy Technology

2007-04-26

[][] MySQL 5.0にCSEで接続する方法

MySQLGUIクライアントはほとんどの人が「phpmyadmin」か「MySQL Query Browser」を使っていると思うんだけど、phpmyadminはWebアプリなので色々とダルイ事が多いし、MySQL Query Browserは日本語の表示は出来ても入力が出来なくて困る、と言うどちらもイマイチで結構ストレスになる事が多かった。


んで、今日ちょっと調べていたらCSEからMySQL 5.0に繋ぐ方法が分かったので手順をメモ。

日本語もちゃんと表示・入力できた。

CSEから直接MySQL 5.0につなごうとすると例外吐いて落ちるんだけど、ODBCを経由すると接続できる。

以下、手順。


概要

大きく以下の三つ。

  1. MySQL Connector/ODBCのダウンロードインストール
  2. ODBCの設定
  3. my.cnfの設定

MySQL Connector/ODBCのダウンロードインストール

http://dev.mysql.com/downloads/connector/odbc/3.51.html

からダウンロードしてインストール

自分はMSI Installerにした。

ODBCの設定

  • ファイル名を指定して実行より「odbcad32.exe」を開く。
  • ユーザDSNタブから「追加」ボタンをクリックする。
  • データソース一覧が表示される。データソースに「MySQL ODBC 3.51Driver」を選択し、完了をクリック。
  • 今度は設定値を入力するダイアログが開くので、Loginタブに必須となる情報を入力。Data Source Nameはデータソース一覧から選択するときに表示される。
  • Advancedタブのさらにその下、Flag3タブの「Read Options From my.cnf」にチェックを入れる。
  • 後その他のオプションはよく分からないのでデフォルトのまま。OKをクリックして終わる。

これでデータソースの作成は完了。

my.cnfの設定

  • C:\my.cnfと言うファイルを作成する。
  • テキストファイルの中身を以下のように。(注2)

[client]

default-character-set=sjis

接続

設定はこれで終わり。

後はCSEからODBCでさっき作ったデータソースを選択して接続すればOKなはず。


自分メモ

自分の環境ではMySQLの設定はサーバクライアント共にUTF-8。勿論DBUTF-8

で、CSEから

show variables like 'char%';

すると以下のような結果になる。

Variable_nameValue
character_set_clientsjis
character_set_connectionsjis
character_set_databaseutf8
character_set_filesystembinary
character_set_resultssjis
character_set_serverutf8
character_set_systemutf8
character_sets_dirC:\dev\mysql5.0\share\charsets\

注意書き

(注1)

cnfという拡張子WindowsだとNetMeeting用か何かに関連付けられていて、my.cnfでファイルを作成するといきなりアイコンが変わってビックリする。でもファイルの中身自体が変わるわけではないので、テキストで開いて編集すればたぶん大丈夫。

自分は我慢ならなかったのでregsvr32 -u msconf.dllとして強制的に排除した。

他に影響があるかどうか不明だけど、参考URLに挙げたサイトで削除OKと出ているのでたぶん問題ないと思われる。まぁ自己責任で。


(注2)

初めはmy.cnfでデフォルト文字コードUTF-8を指定していたのだけれど、CSE側がSJISらしく文字化けしてしまった。

たぶんODBCコネクタがSJIS <-> UTF-8変換をよしなにしてくれてるんだと思う。

参考URL

MySQL :: Page Not Found

404 Error - FC2ホームページ

わたしわたし 2008/02/13 19:42 すばらしいです。ありがとう

MeMe 2008/04/08 00:34 ありがとうございます、助かりました!

world_standardworld_standard 2008/07/17 11:17 CSEで普通にmysqlを選択して接続したら、アプリのエラーで落ちてしまい、接続できませんでした。
コチラの手順で試してみたところ、接続できました。
ありがとうございます!

BOBOBOBO 2008/10/30 11:35 すばらしいです。

わたしもわたしも 2008/11/17 16:25 助かりました!感謝しています!ありがとうございました!

流れ着いて流れ着いて 2010/09/10 15:54 感謝感激です、本当ありがとうございました!

感謝感謝 2011/05/18 16:03 助かりました。ありがとうございます!

軍曹軍曹 2012/02/14 14:22 ■ODBC設定
同じ
■CSE設定
起動→データベース→接続 を選択

接続画面
DBMS = ODBC汎用 を選択
データソース = ODBC設定で追加したData Source Nameを選択
ユーザー名 = 接続ユーザー名
パスワード = 接続パスワード

OKボタンで接続完了。

MySQL側はutf8だとDBの中の日本語データがcse上で化ける
その時は
ODBC Optionタグ
Initial StatementにSET NAMES SJISをセット。
これで回避。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証