読者です 読者をやめる 読者になる 読者になる

マネー報道 MoneyReport

マネーにまつわる報道を取り上げ、自分の切り口で切り取り、噛み砕いてお伝えします。

CSEでLocalのMySQLに接続する方法!ODBCドライバで接続!

スポンサーリンク
あとで読む

開発のお話

新しいWebサイトを開発中ですが、DBに登録したデータを抽出する条件が細かくなりそうなので、SQL文を色々と書く必要がありそうです。
普段はエディター上で適当にSQL文を書いたり、phpMyAdmin上でSQL文を書いています。
ただ、phpMyAdminで書いていると、SELECT文を実行後にクエリを取っておき忘れて、せっかく書いたSQL文が無くなって泣く事があったので、クエリを実行してもSQL文が消えないDBツールを使って開発しようかな、と(^-^;

DBツール

使うDBツールは少々古いですがCSEを使おうかな、と。
CSEとは「Common SQL Environment」の略称でツール名となっています。

CSEはVectorからダウンロード可能です。

Common SQL Environmentの詳細情報 : Vector ソフトを探す!

CSEは簡単にDB接続できたり、クエリを書いた後に「Ctrl + Q」キーを押すことでSQL崩しと呼ばれるSQL文の整形を行ってくれるので非常に便利です(^-^)v

このCSEを使って、フリーDBであるMySQLに接続してSQL文を書いていきたいな、と。
開発中はWebサーバー上のMySQLではなくて、Local環境にインストールしたMySQLに繋いでクエリを書こうと思っています。

で、CSEにはDB接続用にデフォルトでMySQL接続用の設定が用意されているのですが、調べたところ現在はうまく繋がらない様なので、別の方法でMySQLに接続したいと思います。

ODBC接続

色々と調べた中では下記のブログの記事が分かりやすかったです。

ODBCを利用してMySQLに接続する方法が解説されています。
ただ、2008年の記事なので、2016年現在とは一部設定項目が違っていたりするので、今回の記事で図解しつつ手順を確認していきたいと思います(^-^)v

まずは、MySQLのサイトからODBCドライバをダウンロードします。

MySQL :: Download Connector/ODBC

ORACLEのユーザープロファイルが必要なので、持っていない人は新規に作ってログインしましょう。

「Connector/ODBC 3.51.30」の中の「Windows (x86, 32-bit), MSI Installer」をダウンロードします。
f:id:MoneyReport:20160823231830j:plain

ダウンロードしたら、インストーラーを実行します。
f:id:MoneyReport:20160823231631j:plain

ODBCデータソースアドミニストレーター(32ビット)を起動し「ドライバー」タグを見て「MySQL ODBC 3.51 Driver」が入っていることを確認します。
f:id:MoneyReport:20160823232029j:plain

次に「システムDSN」タグを選んで「追加」ボタンを押します。
f:id:MoneyReport:20160823232207j:plain

「データソースの新規作成」画面で「MySQL ODBC 3.51 Driver」を選択して「完了」ボタンを押します。
f:id:MoneyReport:20160823232317j:plain

「Data Source Name」には適当な名前を、「TCP/IP Server」には「localhost」を、「User」には「dbユーザー名」を、「Password」には「dbパスワード」を、「Database」には「DB名」をそれぞれセットします。
f:id:MoneyReport:20160823232237j:plain

横の「Test」ボタンを押して「Connection successful」と表示されれば成功です。
f:id:MoneyReport:20160823232728j:plain
「failed」みたいなメッセージが出た時には、何かしらの設定が間違っていますので、変更しては「Test」ボタンを押して、成功するまで試しましょう(^o^;

「システムDSN」タグ内に、先ほど登録した「MySQL ODBC Driver」を追加できました。
f:id:MoneyReport:20160823232630j:plain

ここまででODBCの準備は完了です。

CSE

ODBCの準備が終わったので、CSEから実際にMySQLに繋いでみましょう!

CSE側でODBCを選びます。
「DMBS」を「ODBC汎用」、「データソース」を先ほどODBCで登録した名前を選択します。
f:id:MoneyReport:20160823232945j:plain
ユーザ名とパスワードはDBの接続用の内容をセットします。

CSEでMySQLに繋がりました!!!
f:id:MoneyReport:20160823233251j:plain

文字化け

MySQLに繋がったので実際にクエリを投げてみましょう。
適当なSELECT文を書いて投げたら文字化けしていました(>_<)
f:id:MoneyReport:20160823233317j:plain

MySQLはUTF-8の文字コードでデータを登録してあります。
対してCSEはShift-JISでしか表示出来ないそうです。

そこで再びODBCの画面にいき、MySQLの設定を開き左下の「Details」ボタンを押して詳細設定を開きます。
f:id:MoneyReport:20160823233523j:plain
一番左のタブ「Connection」の下の方に「Character Set」欄があるので「sjis」を選択します。
そして「OK」ボタンを押します。

CSEを再起動して開き直せば文字化けが直りました(^-^)v

これでMySQLに投げるSQL文をCSEでガシガシ書くことが出来るようになりました!
CSEはSQL文を書くのが非常に楽なので、これで開発効率が上がるかな、と。
クエリ書き頑張ります(^-^)v