2011年12月1日

dbExpressのODBCドライバでPostgreSQLに接続

オープンソースのRDBとして日本では人気のPostgreSQL (日本PostgreSQLユーザ会)ですが、世界的に見るとあまり重要視されておらず、dbExpressでも以前からMySQLはサポートされています(Ent/Ult/Arc SKUのみ)がPostgreSQLは予定すらない、という状況でした。しかしDelphi XE2では(これもEnt/Ult/Arc SKUのみですが)dbExpressのODBCドライバが新しく追加されました。このdbExpressのODBCドライバを経由してPostgreSQLに接続する方法についてラテンアメリカ・カリブ地域担当プロダクトラインマネージャ・リードエバンジェリストのAndreano Lanusseさんが解説しています。興味深い。とりあえずメモ。

Connecting to PostgreSQL through dbExpress ODBC driver | Andreano Lanusse Blog | Technology and Software Development | C++Builder

ODBCデータソースアドミニストレータ(odbcad32.exe)でPostgreSQLのODBCドライバを指定したデータソースを作成しておいて、dbExpressのSQLConnectionのDriverNameに'ODBC'を、ParamsのDatabaseにそのデータソース名(DSN)を指定することで、Delphi/C++Builder-dbExpress-dbExpress ODBCドライバ-ODBC-PostgreSQL ODBCドライバ-PostgreSQLサーバという形で接続できる、ということのようです。なおx64環境ではODBCデータソースアドミニストレータ(odbcad32.exe)もx86、x64の両方が存在するので、クライアントのターゲットプラットフォームによって使い分ける必要があります。

日本語だと第20回 エンバカデロ・デベロッパーキャンプの【B4】 Delphi/C++Builderテクニカルセッション 「dbExpressとマルチプラットフォーム開発」プレゼンテーション資料あたりが参考になります。

2012/02/10追記: デベロッパーキャンプのプレゼンテーション資料のリンクを追記しました。高橋さん、情報ありがとうございます(遅くなりましたが)。

1 件のコメント:

高橋智宏 さんのコメント...

これ、9月のデブキャンプで紹介しましたね。
[【B4】 Delphi/C++Builderテクニカルセッション 「dbExpressとマルチプラットフォーム開発」]
http://edn.embarcadero.com/jp/article/41633/images/41633/b4.pdf