I'm trying to set up a connection between Cognos 8.4 running on a RHEL5 32-bit server (virtual) with DB2 9.5 client installed. I'm trying to connect to a DB2 database on a different Linux server, and have been having a dickens of a time.
I can create the Data Source Connection to the DB2 database containing the data I want to report on, but when I test it, I get the following error message:
QE-DEF-0285 The logon failed.
The full text of the error message is below.
The issue seems to be finding the libdb2.so library. The library exists in /opt/ibm/db2/V9.3/lib32, and I've made sure that is located in the PATH and LD_LIBRARY_PATH variables for the account running the Cognos daemon (user CogUser). Anyone run into anything like this before with DB2? Any hints?
Full error message:
------------------------------------------
QE-DEF-0285 The logon failed.
QE-DEF-0325 The logon failed for the following reason:
RQP-DEF-0068 Unable to connect to at least one database during a multi-database attach to 1 database(s) in:
testDataSourceConnection
UDA-SQL-0569 Unable to load the driver manager library ( libdb2.so ).
UDA-SQL-0571 The operating system returned an error message ( libdb2.so: cannot open shared object file: No such file or directory ).
BME-EX-0144 Trace back:
BmtPlayTransaction.cpp(738): QFException: CCL_RETHROW: BmtPlayTransaction::DoAction
BmtActionsHelper.cpp(466): QFException: CCL_RETHROW: BmtActionsHelper::DoAction
QFSSession.cpp(630): QFException: CCL_RETHROW: QFSSession::ProcessDoRequest()
QFSSession.cpp(628): QFException: CCL_CAUGHT: QFSSession::ProcessDoRequest()
QFSSession.cpp(1380): QFException: CCL_RETHROW: QFSSession::SessionProcessTestConnection()
Source/QE_RsApi.cpp(2064): QFException: CCL_RETHROW: QE
Source/QEI_ConnectionFault.cpp(807): QFException: CCL_THROW: QE
Looks like your environment isn't "sourced" properly. One way to test this is to add "/opt/ibm/db2/V9.3/lib32" to /etc/ld.so.conf and issue the ldconfig command to regenerate Dynamically linked libraries.
not exactly sure about the command / file names but I shouldn't be far off.
Well, my stars and garters, that worked! Thanks very much.
The details were a little different - there was actually a directory /etc/ld.so.conf.d that contained various text files. For example, the mysql-i386.conf file contained /usr/lib/mysql. I added a file named db2.conf and put the path /opt/ibm/db2/V9.5/lib32 in there, then saved the file. I then ran the ldconfig command (doing all this as root). Then I restarted the Cognos server (I don't know if that was necessary), and tested the connection. This time it succeeded!
So I'm over this hurdle, and on to the next one. Thanks for the help!
Quote from: kolonell on 24 Nov 2008 03:25:16 PM
Looks like your environment isn't "sourced" properly. One way to test this is to add "/opt/ibm/db2/V9.3/lib32" to /etc/ld.so.conf and issue the ldconfig command to regenerate Dynamically linked libraries.
not exactly sure about the command / file names but I shouldn't be far off.
Thank you, that worked perfectly! I did do the Application Server component restart just to be thorough.
System Environment:
SLES11 on z/Linux
Cognos 8.4.1 (distributed installation)
Could you please give details on how ldconfig is used in this case?