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
