Note: 背景となっている情報は Tim Goeke 氏(<tgoeke@xpressway.com>)によるものです。
ODBC(Open Database Connectivity)とは抽象的な API です。これにより、いろいろな RDBMS サーバと連係するアプリケーションを作成できます。 ODBC は製品に依存しない、フロントエンドとデータベースサーバ間のインタフェースを提供するもので、異った製造者によるサーバであってもユーザあるいは開発者は移植性のあるアプリケーションを組むことができます。
ODBC APIはバックエンド上で ODBC 互換のデータソースと協調して動作します。データソースは、(単純な)テキストファイルでも Oracle あるいは PostgreSQL などの(複雑な)RDBMS であっても構いません。
バックエンドのアクセスは、ODBC ドライバ、あるいはデータにアクセスすることのできるベンダー固有のドライバから行われます。 PostgreSQL 配布物内の psqlODBC はそのようなドライバの一例で、他にもOpenLink ODBC ドライバといったものがあります。
一度 ODBC アプリケーションを作成すれば、データベースのスキーマが同じである限り、ベンダーの種類に関わらず、 どのようなデータベースにでも接続することができる はずです。
例えば、完全に同じデータを持つMS SQL Serverと PostgreSQLサーバがあった場合、 ODBC を使うと、Windows アプリケーションは、それらをまったく同じ様に呼び出し、また、それらのバックエンドのデータソースは(Windowsアプリケーションにとって)同じ様に見えます。