ミドルウエアによる手軽なPostgreSQL接続方法


2005.12 ACCESS 2000 SP-3 + PostgreSQL 8.0.4

ACCESSから手軽に使えるPostgreSQL接続方法

(ミドルウエア) psqlODBC

リンクテーブル方式

DAOでもADOでも使える。ACCESS(JET)がSQL文を解釈するので、ACCESSの文法のSQLが使える。そして、クエリによりMDBファイルのデータとPostgreSQLのデータで異種結合ができる。一番簡単でACCESSらしく使えるが、クエリの内容によっては非常に効率の悪い方法でPostgreSQLからデータを取得し、MDBファイル共有システム以下の高ネットワーク負荷・低処理速度状態になってしまう場合がある。
ACCESS(JET)がどのようなSQL文をPostgreSQLに送っているかは、ODBC Driverの一般ログ出力をONにすれば見ることができる。(見てみる

ODBC Direct

DAOのODBC Direct方式で使える。この場合、PostgreSQLがSQL文を処理する本来のクライアントサーバーになる。SQL文はPostgreSQLの文法に従って書かなければいけない。

ちょこっと使ってみる

ADO - MSDASQL(Microsoft OLE DB Provider for ODBC)経由

ADOで使える。この場合、PostgreSQLがSQL文を処理する本来のクライアントサーバーになる。SQL文はPostgreSQLの文法に従って書かなければいけない。

ちょこっと使ってみる

 

(ミドルウエア) pgOleDb

ADOで使える。この場合、PostgreSQLがSQL文を処理する本来のクライアントサーバーになる。SQL文はPostgreSQLの文法に従って書かなければいけない。
VB6ならOleDbの意義があると思いますが、ACCESSのクエリとは無縁のものなので、あえてACCESSでpgOleDbを使う利点はないように思う。

ちょこっと使ってみる

 

おとなしく.NETに移行した場合のPostgreSQL接続方法

(ミドルウエア) Npgsql

Visual Studio.NET 2003のデータベースエクスプローラの支援は受けられないけれど、クライアントPCにいちいちODBCドライバをインストールする必要がない!!のが良い。

ちょこっと使ってみる

psqlODBCも".NET Framework Data Provider for ODBC"経由で使える。
.NETでpgOleDbは試したことがない。


MS ACCESSからPostgreSQLへ移行するに戻る TOPに戻る