ODBC for UNIX vs DBD?

ODBC for UNIX vs DBD?

am 18.02.2006 21:12:36 von choppen5

Hi I have a question about data access in UNIX
environments. I have an application I wrote in Perl,
and distribute it using Activestate products, as
executables. It is a distributed system, running on
multiple servers, which all communicate to a database,
mostly using WIN32::ODBC. Also, a bit of DBD::ODBC.
Currently on windows it distributes with no external
requirements - users don't have to install Perl or any
modules for example, and server components work as NT
Services.

I now have a requirement to port the system to UNIX,
(IBM AIX, Sun Solaris 9, HP-UX 11.11). The databases
supported include MSSQL,Oracle, DB2. My objective is
to continue distributing a finished product to users,
with fewest requirements possible.

Thanks to Perl, much of the app will port without much
of a problem. But the data access is an issue. In
terms of the code, using ODBC seems easiest, maybe
replacing current Win32:ODBC with DBD::ODBC. If I got
that working, I would only need one code base, as
DBD::ODBC will work on both Win32 and Unix I guess?
But from what I can tell there aren't many any OS
supplied ODBC systems available for UNIX, ODBC is free
on Windows and I'm worried about introducing another
requirement. It seems most of the mature ODBC systems
are commercial products on UNIX? I assume the
DBD::(db) is the best and free perl way for each
respective database, but since my app is distributed
as finished system, I don't know if compiling a
different version for each target DB will work... It
seems like supporting them all would be much harder..

Does anybody have any experience or advice they can
share related to data access on UNIX, ODBC vs DBD?

Charles Oppenheimer
http://www.recursivetechnology.com