MySQL へ ODBC 接続出来るようにする

CLIENT


ODBC データベース

ODBC データベースとは、各種データベースの違いを吸収して同一のデータベースとして扱えるようにする仕組みです。

データベースシステムはそれぞれ違っていても、ODBC ドライバさえ用意されていれば、Microsoft Access や ADO コンポーネントなど、ODBC に対応したソフトウェアからそれを利用することが出来るようになります。

 

MySQL 用の ODBC ドライバも MySQL The World's Most Popular Open Source Database にて入手することが出来ますので、これを用いて Microsoft Access からデータベースを参照できるようにしてみます。

 

MySQL Connector/ODBC のインストール

MySQL 公式サイト のダウンロードページから、"Connector/ODBC" をダウンロードします。

2005/02/14 現在では Windows 用の ODBC ドライバは 3.51.11 が最新版となっていました。これの MSI パッケージをダウンロードしてインストールしてみることにします。

 

"MyODBC-3.51.11-1-win.msi" をダウンロードしたら、それを実行するとインストールウィザードが起動します。

本題とは関係ないのですけど、とてもきれいなウィザードですね。

これとは打って変わって、"License Agreement" の文字サイズのバランスが少し悪いように思えたのが残念ですけど、ともあれウィザードにそって進めて行くと、難しいことなくインストールは完了となりました。

 

Microsoft Access 2003 から接続してみる

ODBC データベースへ接続する機能を持っている Microsoft Access を使って、MySQL へ接続してみることにします。

それを行うにはまず、先ほどインストールした ODBC ドライバを使って ODBC データベースを PC に登録する必要があります。接続の際にはこの PC に登録された ODBC データベースへアクセスする感じになり、そこから先の MySQL とのやり取りは ODBC ドライバが全てやってくれます。

 

以下は Windows XP Professional での登録方法について触れてみます。

「コントロールパネル」 の 「管理ツール」 から 「データソース (ODBC)」 を選択します。Windows XP ではこのような表示ですけど、他の OS の場合は "ODBC データソース" になっているかもしれないです。

すると "ODBC データソース アドミニストレータ" というダイアログが表示されるので、「システム DSN」 タグを選択して、「追加」 ボタンを押します。そしてデータソースのドライバ選択で "MySQL ODBC 3.51 Driver" を選択して 「完了」 ボタンを押すと、MySQL との接続に使う情報の入力となります。

[Login]

Data Source Name 登録する ODBC データベース名を自由に付けられます。
Description ODBC データベースのコメントです。
Server MySQL サーバをドメイン名や IP アドレスで指定します。指定しなければ localhost となるそうです。
User MySQL サーバへ接続する際に使用されるユーザ名です。
Password MySQL サーバへ接続する際に使用されるパスワードです。
Database アクセスしたいデータベース名を指定します。上記の情報が正しければ、プルダウンメニューから登録されているデータベース名を選択することが出来ました。

[Connect Options]

Port 接続先 MySQL のポート番号が 3306 以外に設定されている場合は指定します。
Socket 接続方法を Socket か Windows pipe かを選択することが出来るそうです。
Initial Statement MySQL 接続時に実行する命令を指定できるそうです。

他にも [Advanced] タグにて詳細な調整が出来るようですけど、少なくとも個人的には難しかったので省略しておくことにします。

 

今回は Data Source name として "MySQL TEST" を指定し、"mysql" データベースへ接続できるようにこれらを設定してみました。そして問題なくデータソースが登録できたら、いよいよ Microsoft Access を起動して接続を試みてみます。

なお、サーバは MySQL 3.23.58 、クライアントは Microsoft Office Access 2003 です。

 

Access 2003 を起動したら、まずは普通に "空のデータベース" を新規に作成します。

続いて 「ファイル」 メニューから 「外部データの取り込み」 → 「テーブルのリンク」 を選択します。そして "ファイルの種類" として "ODBC データベース ()" を選択すると、PC に登録されている ODBC データソースから選択できるようになります。

今回は "システム DSN" へ登録しましたけど、それは "コンピュータデータソース" にて参照することができます。ここから先ほど登録した "MySQL TEST" データソースを選択します。すると登録しておいた "mysql" データベース内にあるテーブルの一覧が表示されるので、Access 2003 にて操作したいテーブルを選択して [OK] を押せば登録完了です。

複数選択する場合、それぞれの候補の上で普通にクリックすれば複数個選択することが出来ます。

なお 「パスワードの保存」 というのは、ODBC 接続の際にパスワードを入力する必要があったとき、そのパスワードを保存しておいて次の接続の際にはそれを省略することが出来るようにするものです。今回の MySQL の場合は ODBC ドライバにてパスワードを保存することが出来ましたので、特にここで保存する必要はありませんでした。

 

ともあれこれで設定完了です。

あとは Access データベースと同様に、リンクしたテーブルを操作することができるようになりました。ちょっとしたデータの入力や、データの操作を行いたいときなどに、もともとそういった操作のしやすい Access はとても便利だと思います。

 

また、MySQL や ODBC とは関係ないのですけど、Microsoft Office Outlook を利用している場合、テーブルのリンクで "Outlook" を指定してあげることで簡単に、メールボックスへ接続することも出来ました。

使い方はいろいろでしょうけど、メールの管理をするときに重宝するかもしれないですね。