戻る

PostgreSQL 上のデータを Microsoft Access から参照する方法

 Access から PostgreSQL を参照するには PostgreSQL 用の ODBC (Open Database Connectivity) ドライバをウィンドウズに組み込みます. これにより,ODBC に対応したすべてのソフト (代表は当然 Access) から PostgreSQL のデータベースが参照できるようになります.

PostgreSQL用ODBCドライバのダウンロード

 以下のサイトで「Downloads」という項目をクリックし, 表示されたいくつかのファイル形式のうち MSI 形式を選んで表示されるページから最新のものを選んでダウンロードしてください. このページを作成した時点では psqlodbc-07_03_0200.zip が最新のファイルです.

PostgreSQL ODBC Driver のサイト:
  http://www.postgresql.org/ftp/odbc/

インストール

 ファイルは zip 形式で圧縮されていますので適当なソフトで展開してください. すると psqlodbc.msi というファイルができますのでそれをダブルクリックし, 「Next」などのボタンを適切に押していけばインストールされます.

設定

 インストールが終わったら PostgreSQL のデータベースサーバーに接続するための設定をします. ウィンドウズのコントロールパネルの中にある「管理ツール」の中から 「データソース(ODBC)」を選んでください. すると次のようなウィンドウが開きますので,右の方にある「追加」ボタンを押してください.

 「追加」ボタンを押すと次のような「データソースの新規作成」 ウィンドウが現れますので,「PostgreSQL」を選んで 「完了」ボタンを押してください.

 「完了」ボタンを押すと接続するデータベースを設定するウィンドウが開きますので, 「サーバー名」「データベース名」「ユーザー名」「パスワード」 を適切に設定してください. 例えば自分のパソコン上で動いているデータベースに対して「miz」 というユーザー名で接続する場合は下の図のように入力します (データベースにパスワードをかけていない場合). なお,このような利用方法をするときは PostgreSQL のアクセス設定ファイル (data フォルダの中の pg_hba.conf) を正しく設定しておく必要があります.

 基本的な設定はこれだけなのですが, PostgreSQL の場合文字コードによる問題を未然に防ぐためデータベースの構築を EUC の漢字コードを使って行われることが多いようです. しかし,ウィンドウズの漢字コードは SJIS なのでこれらを変換する設定が必要になります. 先ほどのウィンドウ(上の図)の右下にある「オプション」の中の 「データソース」というボタンを押し, 現れたウィンドウの上部の「設定2」 のボタンを押すと次のようなウィンドウが現れますので, 一番下の「接続時 設定:」の部分に

SET CLIENT_ENCODING = 'SJIS';

と入力してください. これが終わったら設定はすべて終了です.このウィンドウの「OK」ボタンを押し, その前のウィンドウの「保存」, 最初のウィンドウの「OK」ボタンを押してすべて閉じてください. これで Access から PostgreSQL を参照する「準備」が終わりました.

 実際に Access から参照するときは Access を起動し, 次のような感じでやってください. 具体的には「ファイル」メニューの「外部データの取り込み」の中の 「テーブルのリンク」を選び,現れたウィンドウの一番下の 「ファイルの種類」のところで「ODBC Database()」を選んでください.
 すると「データソースの選択」 というウィンドウが開きますのでそのウィンドウの中の 「コンピュータ データ ソース」 のタブを選んでから先ほど登録したデータベースを指定して 「OK」を押せばそのデータベースに登録されているテーブルがすべて表示されます. あとは読み込みたいテーブルを指定して終わりです. いろいろ文句を言われるかも知れませんが各自で試してみてください.


戻る