in reply to
Switching from ODBC to DBI
Not to disagree with previous comments (far from it), but...
At the end of your code snippet, it looks like you're constructing a DBI DSN which uses ODBC. The names of some variables at the top indicate that you're trying to talk to a DB2 database. I.E. it looks to me as though you may already be using DBI, talking to a DB2 database through the DBD::ODBC driver. Assuming that I've guessed correctly, your job may be as simple as constructing the correct DSN using DBD::DB2. Look at the docs for DBD::DB2
If you don't have DBD::DB2, building it requires access to the appropriate DB2 client libraries, which may be an issue.