MySQLやPostgreSQLのようなデータベース・サーバはコマンド・プロンプトからの操作が基本であるが、使い慣れたMicrosoft Accessからアクセスできれば便利である。Microsoft AccessはODBCインターフェイスを介して、現在使われている主要なデータベースサーバとシームレスに接続することができる。
対象ソフトウェア:Access 2000/Access 2002
最近、フリーのバックエンド・データベースとして、UNIXやLinuxなどで広く使われているMySQLやPostgreSQLなどを採用する機会が多くなってきた。読者の中にもすでに業務の中で使用しているという方も少なくないだろう。
なるほど、コマンド・プロンプト(UNIXでは「シェル」という)からありとあらゆる処理操作を実行できる手軽さは、中上級者にはありがたい。しかし、初級者にとってはそもそもコマンドを入力しなければならないという点からして敷居の高さを感じてしまうであろうし、単純なデータ入力・更新にすら、いちいちINSERTやUPDATEのようなコマンドを入力しなければならないのは、やはり面倒なものである。
そこで本稿では、初心者でも比較的容易に使いこなすことができるMicrosoft Accessをフロントエンドのユーザー・インターフェイスにして、これらデータベース・サーバにアクセスする方法について紹介する。
Accessを介することで、単純なデータ入力は、Accessの標準的な機能である「テーブル」や「フォーム」によって行うことができるし、蓄積されたデータを処理したいという場合にも「クエリ」を使えば、エンド・ユーザーが視覚的にデータ分析することが可能である。もちろん、インポート・エクスポート機能などを使用すれば、Microsoft Excelなどのソフトウェアと手軽に連携することもできるだろう。
それではさっそく、設定までの流れを見てみることにしよう。接続するデータベースサーバによって手順には若干の差があるが、ここでは軽量かつシンプルな機能を旨とするMySQLサーバを例にとってみる。また、本稿ではMySQLサーバ自体のインストールやユーザー設定などについては割愛するので、詳細については@IT Linuxフォーラムの「MySQLインストール完全ガイド」や、筆者の運営する「サーバサイドの学び舎 - WINGS」サイトの「サーバサイド環境設定」などを参考にして欲しい。
Accessからデータベース・サーバにアクセスするためには、それぞれ専用の「ODBC(Open DataBase Connectivity)」ドライバと呼ばれるソフトウェアが必要となる。MySQLサーバの場合には、以下のURLから「Connector ODBC」をダウンロードしてほしい。
ダウンロードした「MyODBC-3.51.06.exe」(ファイル名はそのバージョン番号によって異なる可能性がある)をダブルクリックするとインストールが開始される。インストール・ウィザードは英語で表記されているが、[Next]ボタンで先に進んでいけば問題ない。
ほかのデータベースサーバを使用している場合には、それぞれ以下のサイトからダウンロードすること。インストール方法については、各ダウンロードサイトの紹介(またはダウンロードファイルに含まれるドキュメント)などを参照してほしい。
データベース | ODBCドライバのダウンロード場所 |
---|---|
MySQL | http://www.mysql.com/downloads/api-myodbc-3.51.html |
PostgreSQL | http://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/ |
Oracle | http://otn.oracle.co.jp/software/tech/windows/odbc/ |
SQLServer | http://www.microsoft.com/japan/msdn/data/ |
[スタート]メニューから[プログラム]−[管理ツール]−[データソース(ODBC)]を開き([コントロール パネル]−[データソース(ODBC)]でも同じ)、[ユーザーDSN]タブから[追加]をクリックする。
「データソースの新規作成」ダイアログが開いたら、データソースドライバとして「MySQL」を選択する。もしも一覧に「MySQL」が存在しない場合には、ODBCドライバのインストールに失敗している可能性があるので、再度手順1を見直してみて欲しい。
次に「TDX mysql Driver default configulation」ダイアログが開かれるので、必要な項目を入力する。ここでは、最低限の接続に必要と思われる項目について、概要を紹介しておくことにする。
項目名 | 概要 |
---|---|
Windows DSN name | データソースを一意に識別する名前 |
MySQL host | MySQLサーバのホスト名またはIPアドレス |
MySQL database name | 接続するデータベースの名前 |
User | 接続時に使用するユーザー名 |
Password | 接続時に使用するパスワード |
[OK]をクリックして、データソース名の一覧に設定したデータソース名が追加されれば、設定は成功だ。
Microsoft Accessを起動して空の新規データベースを作成し、メイン画面上で[新規作成]をクリックする。
「テーブルの新規作成」ダイアログが表示されたら、「テーブルのリンク」を選択して[OK]をクリックする。
「リンク」ダイアログが表示されたら、[ファイルの種類]から「ODBC Databases ()」を選択する。
「データソースの選択」ダイアログが起動するので、[コンピュータデータソース]タブから先ほどの手順1で作成したデータソース名「wings」を選択する。なお、もしも手順1でデータソースを作成していない場合には、ここで[新規作成]をクリックすることで新規にデータソースを設定することもできる。
データソースに接続されると、「テーブルのリンク」ダイアログが表示されるので、リンクしたいテーブルを選択する。データベース上のすべてのテーブルをリンクしたい場合には、[すべて選択]をクリックする。
一般的に、データベースのテーブルにはレコードを一意に識別する「主キー(プライマリ・キー)」を設定するのが通例であるが、もしも主キーが設定されていないテーブルをリンクした場合、次のような[固有レコード識別子の選択]ダイアログが表示される。これは、主キーが設定されていない場合、テーブルの更新・削除などに際して、正しくデータを同期することができないためだ。このような画面が表示された場合には、主キーとなるべきフィールドを選択するか、MySQLサーバ上で主キーの設定を行って欲しい。
以上、これでMySQLサーバへのリンク設定は完了した。あとは、通常のテーブル同様に、データを登録したり、更新したりすることができる。
ただし、リンクされたテーブルは[デザインモード]で開いても、その内容を変更することはできないので注意すること(詳細については、「TIPS―データベース・サーバに直接コマンドを発行する」を参照)。また、リンクされたテーブルを[削除]しても、MySQLサーバ上のテーブルは削除されない。あくまで、ここでAccess上に見えているのはMySQLサーバに対するユーザー・インターフェイスであって、テーブルそのものではないということを理解しておいて欲しい。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.