Question & Answer
Question
Db2 V9.7 から V11.1 へアップグレードしました。なぜ Db2 V11.1 Java ストアード・プロシージャー が PowerClassLoader を見つけられないエラーが発生するのですか?
Cause
製品に含まれる db2java.zip を手動で除去した場合の期待される動作です。
Answer
以下のようなメッセージが Db2 V11.1 の db2diag.log に書かれる場合があります。
このメッセージは Db2 V11.1 の環境で "COM.ibm.db2.app.classloader.PowerClassLoader" クラスを含んでいる db2java.zip が CLASSPATH に無い場合に書かれます。Db2 V9.7/V10.1/V10.5 の場合には db2java.zip が CLASSPATH に無い場合でも書かれません。
この V11.1 と V9.7/V10.1/V10.5 の動作の違いは V11.1 にて行われた Db2 Java ストアード・プロシージャーへの機能拡張に起因しています。
このメッセージが表示された場合には $INSTHOME/sqllib/java 下に db2java.zip ファイルがインストールされていることを確認してください。
以下の Db2 V10.1 のマニュアルには 「Db2 V8.2 にて db2java.zip が非推奨になりました」と記載されています。
V10.1, DB2 JDBC Type 2 ドライバーの廃止
-----
詳細
db2java.zip ファイルにパッケージされていた DB2 JDBC Type 2 ドライバー
(Linux、UNIX、および Windows 用) はバージョン 8.2 で非推奨になりました。
-----
しかし db2java.zip ファイルは Db2 V11.1 の Java ストアード・プロシージャー機能に必要ですのでファイル名の変更、移動は行わないでください。
注:
この挙動は将来断り無く変更されることがあります。このテックノートの内容が有効か否かは
db2java.zip を別の名前に変更、Java ストアード・プロシージャーを実行することにより
確認できます。
将来のリリースにてデザイン変更を希望される場合には弊社担当営業へリクエストいただく
ことが可能です。英語になりますが、お客様ご自身で機能拡張のリクエストがこちらの
サイトから可能です https://www.ibm.com/developerworks/rfe/
- 2017-05-17-13.15.12.609355+540 I48192085A779 LEVEL: Error
PID : 18350522 TID : 1 PROC :
INSTANCE: db2inst1 NODE : 000
HOSTNAME: DB2INST1
EDUID : 1
FUNCTION: DB2 UDB, BSU Java support, sqlejLogEarlyException, probe:11029
DATA #1 : String, 476 bytes
java.lang.NoClassDefFoundError: COM.ibm.db2.app.classloader.PowerClassLoader
Caused by: java.lang.ClassNotFoundException:
COM.ibm.db2.app.classloader.PowerClassLoader
at java.net.URLClassLoader.findClass(URLClassLoader.java:607)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:844)
at java.lang.ClassLoader.loadClass(ClassLoader.java:823)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:325)
at java.lang.ClassLoader.loadClass(ClassLoader.java:803)
このメッセージは Db2 V11.1 の環境で "COM.ibm.db2.app.classloader.PowerClassLoader" クラスを含んでいる db2java.zip が CLASSPATH に無い場合に書かれます。Db2 V9.7/V10.1/V10.5 の場合には db2java.zip が CLASSPATH に無い場合でも書かれません。
この V11.1 と V9.7/V10.1/V10.5 の動作の違いは V11.1 にて行われた Db2 Java ストアード・プロシージャーへの機能拡張に起因しています。
このメッセージが表示された場合には $INSTHOME/sqllib/java 下に db2java.zip ファイルがインストールされていることを確認してください。
以下の Db2 V10.1 のマニュアルには 「Db2 V8.2 にて db2java.zip が非推奨になりました」と記載されています。
V10.1, DB2 JDBC Type 2 ドライバーの廃止
-----
詳細
db2java.zip ファイルにパッケージされていた DB2 JDBC Type 2 ドライバー
(Linux、UNIX、および Windows 用) はバージョン 8.2 で非推奨になりました。
-----
しかし db2java.zip ファイルは Db2 V11.1 の Java ストアード・プロシージャー機能に必要ですのでファイル名の変更、移動は行わないでください。
注:
この挙動は将来断り無く変更されることがあります。このテックノートの内容が有効か否かは
db2java.zip を別の名前に変更、Java ストアード・プロシージャーを実行することにより
確認できます。
将来のリリースにてデザイン変更を希望される場合には弊社担当営業へリクエストいただく
ことが可能です。英語になりますが、お客様ご自身で機能拡張のリクエストがこちらの
サイトから可能です https://www.ibm.com/developerworks/rfe/
Related Information
[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Routines (SP \u0026 UDF) - Java","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"11.1","Edition":"Advanced Enterprise Server;Advanced Workgroup Server;Enterprise Server;Workgroup Server","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
29 November 2022
UID
swg22010721