ibatis.exceptions.PersistenceExceptionエラーが発生しました。
。。。うーん。よく分りません。
試しにリソース定義した部分をコメントアウトするとアプリケーション側でエラーハンドリングされるので、リソース定義自体は問題ないようです。
対象のデータベースはDB2です。driverClassName="com.ibm.db2.jcc.DB2Driver"として、db2jcc.jar、db2jcc4.jarもlibフォルダーに置いています。
可能性としては
- JARが読み込めていない
- サーバーにアクセスできない
があります。ちょっとググってみると、次の記事に当たりました。
DB2 and MyBatis Connection refused: connect. ERRORCODE=-4499, SQLSTATE=08001
気になったのは「i already did set DB2COMM to TCPIP but still doesnt work」の箇所です。DB2COMMをセットする???
探してみると、次の記事がありました。
DB2 インスタンスの通信プロトコルの設定
要するに、DB2COMMにTCPIPをセットしてあげないと、ポートをLISTENしてくれないようです。
言われたとおりにしてDB2を再起動。
SQL5043N DB2COMM 環境変数で指定されている 1 つ以上の通信プロトコルに対するサポートを正常に開始できませんでした。 ただし、コアのデータベース・マネージャーの機能は正常に開始されました。
うーん、まだ素直に動いてくれません。
このエラーを見てみると、「例えば、このメッセージが返される 1 つの理由として、SVCENAME データベース・マネージャー構成パラメーターが正しく設定されていないことが考えられます。」とありました。
確認すると、確かに、SVCENAMEがブランクです。
ということでSVCENAMEを設定して、再度DB2再起動。
すると漸くibatisエラーはなくなりました。
どうも、DB2側で、サーバー接続可能なように設定する必要があったようです。DB2コマンドからは接続できたので問題ないと思っていたのですが、どうも違ったようです。
初歩的なところで躓いてしまいましたが、備忘がてらメモしておきます。