Problem
|
When using the DB2® Perl driver on DB2 Universal Database™ (DB2 UDB) Version 8 64-bit for AIX 5.2, you get the following error message: '/usr/opt/perl5/lib/site_perl/5.8.0/aix-thread-multi/auto/DBD/DB2/DB2.so' for module DBD::DB2: 0509-022 Cannot load module /usr/opt/db2_08_01/lib/libdb2.a(shr.o).
You are using a 32-bit Perl or you are not sure whether your Perl is 32-bit or 64-bit. |
Cause
|
Using 32-bit Perl to load 64-bit DB2 Client libraries is not supported.
|
Solution
|
You must use 64-bit Perl in order to use the 64-bit DB2 Client libraries on a 64-bit instance.
To verify which Perl version you have, you can run the "perl -V" command as shown here: # perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=aix, osvers=5.2.0.0, archname=aix-thread-multi uname='aix rocky 2 5 000ad7df4c00 ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef ... Notice that use64bitint and use64bitall are both set to undef. This indicates that the version of Perl you are using wasn't compiled in 64-bit. |
- To switch from 32-bit to 64-bit Perl, enter the following as root user:
/usr/opt/perl5/link_perl_64 |
- To switch from 64-bit to 32-bit Perl, enter the following as root user:
/usr/opt/perl5/link_perl_32 |