since 2002/01/01
lastupdate 2003/02/28
   

ACCESで使う

さて実は、PostgreSQLページで一番やりたいのがこれなのです。
実際、PostgreSQLをMicrosoft-ACCESSでアクセス (いつも思うが紛らわしい...) するための情報が少ないように感じます。
実際、ACCESS 系の web サイトでも PostgreSQL との連携について書いてあるところも少ないし、 PostgreSQL のメーリングリストでも、ACCESS がらみの話題は少ないようです

このような状態でしたので、私が PostgreSQL を始めてから ACCESS でアクセスできるようになるまでには、 結構苦労した事もあります。
実際、ODBCワークスペースというものを使えるようになるまではかなりいろいろと探し回りました。 まぁ、割とこの辺は当たり前っぽい情報なのかもしれませんが。
でも、きちんとした基礎を持たない私は知らなかった(^^;;;

そこで、「私と同じような苦労をしている人は必ずいるはずだ!」という自分勝手な思い込みで、このページを作っていますので、 自分で苦労した点や覚えておきたい事が中心でそんなに高度な情報はありません。あしからず(^^;;;

尚、ここで言う ACCESS とは Microsoft ACCESS2000 及び ACCESS97 をさしています。
他のバージョンには適合しないこともあるかもしれません。
また、ACCESS97 との互換性のためもあり私はDAO使いですので、VBA では DAO への参照設定が必要です。 またここでは、これらの ACCESSシリーズ (2000及び97) をあわせて ACCESS と呼ぶこととします。


ODBCドライバのインストール

さて、ACCCESS で PostgreSQL へ接続するには、何はともあれ ODBCドライバ が必要です。 とりあえず入手先は こちら です。
また、インストール方法など、いろいろな情報がありますので、一通り目を通しておくことをお勧めします。
ダウンロードしたら、クラインアントとなる全てのパソコンにインストールしてください。
また、pg_hba.conf の設定も済んでいるでしょうか?この辺ができていないと接続できません。 pg_hba.conf の設定については、 こちら で少し触れています。

サンプルデータベースの作成

クライアントからアクセスする設定が終わったら、PostgreSQL側にサンプルデータベースを作りましょう。
ここではサンプルデータベースとして TEST という名前のデータベースを作成しています。 データベースを作成したら、サンプルテーブルを作ります。 サンプルを作るのが面倒な方は、 こちら にごみサンプルがありますので、必要ならお使いください。 使い方がわからなければ、こちら をご覧ください。
とりあえず、このページではこのサンプルを使って説明します。

ファイルDSNの作成

PostgreSQL へ接続するには、DSN と呼ばれる設定をあらかじめ作ります。
DSN には ファイルDSN や システムDSN、さらに ユーザDSN と紛らわしいのがありますが、ここはファイルDSNで作っておきましょう。

で、作り方ですが、コントロールパネルの 32ビットODBC ドライバマネージャ 又は NT系 なら ODBCデータソースアドミニストレータ を使います。 とりあえず順番通りに説明してみます。 尚()内の文字はサンプルを使ったときの選択です。 あなたの環境に合わせて設定してください。
また、DSNファイルはパススルークエリやVBAからも使用します。

  1. コントロールパネルから ODBCデータソースアドミニストレータ (32ビットODBCドライバマネージャ) を開きます。
  2. 開くと ファイルDSN タブがあるのでそこをクリックし、さらに 追加 ボタンをクリックします。
  3. 新しく データソースの新規作成 ダイアログが開くので、一覧から PostgreSQL を選んで 次へ をクリックします。
  4. 保存する名前を聞いてきますので、たとえばデータベースと同じ名前などを入力し 次へ をクリック。
    とりあえず TEST とでも入力しておきましょう。
    ここでつける名前に拡張子はなくてもかまいません。保存されるときに .dsn という拡張子がつけられます。
  5. そしたらさらに 次へ をクリック。続けて 完了 をクリックします。
  6. 次は PostgreSQL Connection というダイアログが開いたと思います。
    とりあえず Database: には接続するデータベースの名前を入力します (TEST)
    また、Server: には postmaster が動いているサーバの IPアドレス を入力します (192.168.x.x)
    さらに postmaster のポートを変更している場合は、Port: も変更します。
    そして UserName: にはデータベースにアクセス可能なユーザ名を入力 (postgres) し、パスワードの入力を行います。
  7. ここまで設定したら OK をクリックします。これで ファイルDSN が作成されました。

補足すると、ファイルDSN 標準の保存場所は NT系 の場合、 c:\program files\Common files\ODBC\Data Source フォルダとなります。 ライブ名は program files があるドライブに読み替えてください。9x系の方はちょっと忘れてしまいました。
どっかにODBCという名前のフォルダがあったと思います。
また、実際 DSN は ファイルDSN でも システムDSN でも何でも良いんですが、特に複数のクライアントで使う場合は、ファイルDSNをネットワーク上で共有することもできるので、ちょっと便利です。 尚、ODBC ドライバについては実はよくわからないところも多いです。
英語がもっと読めれば、 と思うのですがなかなか(^^;;;