- - PR -
jarファイル実行時のDB接続エラー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-09 01:13
お世話になります。
JDBCドライバーを使い、DBに接続してDB名をカタログ取得する アプリケーションを作成しています。 完成したプログラムをEclipse上で実行した場合は問題なく動作 するのですが、jarファイルを作成して実行してみるとDBの接続時に エラーとなります。 JDBCのjarファイルはEclipse上でクラスパスを登録しており、 jarファイル作成時にもclassファイルだけでなく、JDBCのjarファイル も指定して取り込んでみましたが結果は同じでした。 JDBCドライバを含んだアプリケーションをjarファイルにする正しい方法など わかる方がいらっしゃいましたらご教授頂けます様、よろしくお願いいたします。 【環境】 java version:1.5.0_06 JRE :1.5.0_06 DB :SQLserver2000 |
|
投稿日時: 2006-01-09 01:41
エラーの詳細な内容を教えてもらえないでしょうか。
可能であれば、メッセージをそのままこちらに貼付けてもらえるのが、 他人にとっては、一番理解が早いと思います。 |
|
投稿日時: 2006-01-09 02:41
せん様、夜分にありがとうございます。
エラーの内容の件ですが、接続を失敗した際には try〜catch により 接続不良のエラーメッセージダイアログを表示するというロジック としてあり、jarファイルを実行した際には「接続エラー」の メッセージダイアログが出るような状況です。 (Eclipseにて実行した場合には「Successful!」のメッセージダイアログ がきちんと表示されます。) 下記は該当のロジック部分です。 ------------------------------------------------------------------------- try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); con=DriverManager.getConnection(Url,userName,password); if(con!=null) {JOptionPane.showMessageDialog (null, "Successful!", "title",JOptionPane.INFORMATION_MESSAGE); } }catch(Exception e){ e.printStackTrace(); JOptionPane.showMessageDialog (null,"接続エラー", "Error!",JOptionPane.INFORMATION_MESSAGE); } ------------------------------------------------------------------------- 何かわかることがありましたら、お願いいたします。 |
|
投稿日時: 2006-01-09 04:05
> e.printStackTrace();
ここで例外のスタックトレースが記録されると思いますのでこちらの内容を確認しましょう。 ClassNotFoundException ならドライバがクラスパスに通っていない、とか判断できます。 |
|
投稿日時: 2006-01-09 13:51
インギ様、ご回答ありがとうございます。
教えていただきました「e.printStackTrace()」 から、エラー内容をメッセージダイアログに表示するつくりにプログラムを直しjarファイルを実行したところ、 ご推察のとおり 「java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver」 のエラーが確認できました。 そのため、MSのJDBCの情報ページを参考に環境変数にクラスパスを再度設定し直して みましたが、やはりエラーが解消されませんでした。 (一応、ユーザ環境変数とシステム環境変数の両方にJDBCのjarファイルパスを登録してみたのですが。。) 何か他に設定などが必要なところなどあるのでしょうか? |
|
投稿日時: 2006-01-09 20:55
おせわになります。
自己レスです。 問題の件ですが manifestファイルにメインクラスファイル名の他に クラスパスを下記のように追記し、jarファイル化することでDBに 接続が出来るようになりました。 ---------------------------------------------------------------- Main-Class: MainClassFileName Class-Path: msbase.jar mssqlserver.jar msutil.jar ---------------------------------------------------------------- せん様、インギ様、ありがとうございました。 お騒がせいたしました。 |
1