■ 前提
CentOSのTomcat5でDB2と連携するWebアプリを動かそうとしてはまったのでメモ。 まず環境| OS | CentOS4.5 |
| アプリケーションサーバー | Tomcat 5.5.23 |
| データベース | DB2 v8.1.2.128 FixPak 14 |
この状態で、db2java.zipをdb2java.jarにリネームし(Tomcatはzipを認識してくれないらしいので)、 TOMCAT_HOME/common/libに置いて起動。すんなりいくかと思いきやエラーが発生しました。
■ UnsatisfiedLinkError
UnsatisfiedLinkErrorが発生します。
java.sql.SQLException: java.lang.UnsatisfiedLinkError: no db2jdbc in java.library.pathエラーの意味はdb2jdbcがリンクできないとかそんな意味だと思います。linuxの場合、 libdb2jdbc.soがリンクできないのが原因のようです。LD_LIBRARY_PATHに/opt/IBM/db2/V8.1/libを 追加すればいいだろうと、ld.so.confや/etc/init.d/tomcatを編集して試行錯誤してみましたがうまくいきませんでした。
■ 結論
結局、TOMCAT_HOME/bin/catalina.shの先頭付近でdb2profileを読み込むようにしたらうまく いきました。
. /home/db2inst1/sqllib/db2profile
db2profileをちらっとのぞいてみると、この中でLD_LIBRARY_PATHもよろしく設定 してくれている雰囲気です。これって基本なんですかね?まぁ結果オーライという事で(汗