- PR -

DB2 JARファイルから実行するとエラー

1
投稿者投稿内容
unagi2000
会議室デビュー日: 2007/02/28
投稿数: 7
投稿日時: 2007-02-28 11:35
皆様お世話になります。

Windows XP ProでDB2 UDB v8.1に接続しテーブル件数を取得する
Javaアプリケーション(DOSのコンソールアプリケーション)を作成ました。

開発はEclipse 3.2で行い問題なく動作しました。
次にJARファイルをEclipseで作成し、開発マシンのDOS上から起動さたところ、
java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
のエラーが発生しました。

JARファイルを解凍し、classファイルから実行しますと、
上記エラーは発生しません。

クラスパスには、
db2jcc.jarとdb2jcc_license_cu.jarを指定しています。

JARファイルから実行するとNG
クラスファイルから実行するとOK
問題はどこに有るのかご存知の方お教えいただけませんか?
宜しくお願い致します。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-02-28 11:41
「Classファイルから実行すると成功する」というよりも「JDBCドライバがクラスパスに入っていると成功する」のだと思います。
jarファイルのマニフェストクラスパスにドライバを通すか、ドライバそのものをjarファイルに含めしまってはいかがでしょう。
unagi2000
会議室デビュー日: 2007/02/28
投稿数: 7
投稿日時: 2007-02-28 13:33
インギ様

アドバイス有難う御座います。
MANIFEST.MFに
Class-Path: ./db2jcc.jar ./db2jcc_license_cu.jar
を追加し、
それぞれのドライバをJARファイルを保存したフォルダに配置したところ動作しました。
(ドライバをJARファイルに含めて起動させたのですがJava.lang.ClassNotFoundExceptionエラーでした)

とても助かりました。
有難う御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)