I started from a Dossy's article explaining the components necessary. We need:
- the nsodbc module and this patch
- a Unix ODBC manager
- a DB2 driver
- a modified config.tcl From the driver page of unixODBC I found some links referring to DB2 and decided to download and try StarSQL of Starquest.
- AFAIK it is not possible to use our db_ API but we have to stick with the old ns_db
- StarSQL is not Open Source, but at least I have to say that their support is very good.
The installation was very easy and as a result I got an isql shell (similar to psql) and the client libraries against which to compile nsodbc.
StarSQL comes with its own ODBC manager and so there was no need to install unixODBC manager. It was sufficient to compile nsodbc specifying ODBC=/usr/share/starsql/odbc/lib
The config.tcl must be modified loading the new module, adding and specifying a new database pool.
After starting aolserver I had initially a problem, because the process is started by root but the necessary STARSQL environment variables were only set in the regular user.
Afterward I had to do a one line modification to the proc db_bootstrap_set_db_type in 20-db-bootstrap-procs.tcl beacuse the bootstrap process tries to get an handle from all availablepools and fails because the db type of the new pool is unknown. (I simply avoided getting an handle from the new pool)
The only limitations are that: