|
Problem |
JDBC Driver not found
java.lang.UnsatisfiedLinkError: no db2os390j2 (libdb2os390j2.so)
|
|
Cause |
JDBC Driver could not be found by WebSphere® Application
Server. |
|
Solution |
In the Application Server server region log (for example
BBOASR2S), you might see the following messages:
Can't find library db2os390j2
Make sure that the library is in your path
java.lang.UnsatisfiedLinkError: no db2os390j2 (libdb2os390j2.so) in
java.library
SQLException loading the JDBC Driver
SQLSTATE is FFFFF
SQLCODE is -1
java.sql.SQLException: Error: DB2 JDBC Driver was unable to load the DLL
db2os39j2.
Possible solution
To resolve this problem:
- Check the CLASSPATH for the Application Server. Make sure the DB2®
JDBC HFS directory path is correct and includes db2j2classes.zip.
- Check the LIBPATH for the Application Server. Make sure the DB2 JDBC
HFS directory path is correct.
- Confirm that the HFS for DB2 JDBC is mounted. Confirm that the DB2
library for SDSNLOD2 is available either through STEPLIB or LNKLST.
SDSNLOD2 contains the DB2 JDBC executables referenced in the DB2 JDBC HFS.
If you have verified that the setup is correct, you might be missing a
Unix System Services (USS) PTF added for WebSphere® Application Server
(V401 only) as a pre-requisite. The APAR is OW51798.
Also, item (MD12390) that shipped in service level W401013 (PTF UQ61730),
introduced support to
"...resolve the synch-to-OS-thread problem. During the synch-to-thread
processing, a call to BPX1TLS was added to update USS with the identity
being switched to. This support has a prerequisite on USS APAR OW51798
that enables the BPX1TLS call to execute from a WebSphere caller."
The failing call to BPX1TLS can be seen in the WebSphere Application
Server error log. For this item, at preInvoke time our security code
called pthread_security_np (BPX1TLS) and failed because the USS APAR
OW51798 was not applied.
After applying this USS APAR, the JDBC DLLs loaded successfully.
The USS APAR requires an IPL after apply.
|
|
|
|
|
|
|