- - PR -
type 2 jdbc経由のDB2へのアクセスでjava.lang.ClassNotFoundException: com/ibm/db2/jcc/DB2Driverのエラ
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-12-14 10:16
type 2 jdbcドライバを使ったDB2へのアクセスに失敗していて困っております。
-db2jcc.jar db2jcc_licence_cu.jar db2jcc_licence_cisuz.jar をクラスパスに指定。 jdbcドライバを指定しているソースは package login; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class sampleAction extends Action { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ServletContext context = getServlet().getServletContext(); sampleForm sap = new sampleForm(); String ID = sap.getId(); String PW = sap.getPw(); try { Class.forName("com.ibm.db2.jcc.DB2Driver ").newInstance(); Connection dbConn = DriverManager.getConnection("jdbc:db2:MYMALL", "db2admin", "db2admin"); Statement stmt = dbConn.createStatement(); ResultSet rs =stmt.executeQuery("select * from DB2ADMIN.PASSWORD where ID = '" + ID + "'"); String pwstr = rs.getString("PW"); if (PW.equals(pwstr)) { String namestr = rs.getString("NAME"); // 要求へ属性と属性値をセット sap.setNameresult(namestr); String name1 = sap.getNameresult(); context.setAttribute("NAME1", name1); } stmt.close(); dbConn.close(); } catch (Exception e) { e.printStackTrace(); } return (mapping.findForward("success")); } } 上記のコードを実行すると java.lang.ClassNotFoundException: com/ibm/db2/jcc/DB2Driver となります。 チェックするべき点や 解決策についてご存知の方がいらっしゃいましたら どうか宜しくお願いします。 [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 10:16 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 10:18 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 10:18 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 10:59 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:00 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:01 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:10 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:10 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:11 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:11 ] [ メッセージ編集済み 編集者: 社内竜王 編集日時 2006-12-14 11:13 ] | ||||||||
|
投稿日時: 2006-12-14 10:47
Strutsのことはよう知らんのですが。
クライアントって、この場合、なんですか? コード? コマンドラインからJavaを叩くときのオプションにも見えますが、 それにしてはオプション名もデリミタも見えないし・・・。 クライアントでなくてサーバーだったら、 例えばTomcatならば、ライブラリは所定の場所に格納せねばなりません。 どこに格納するのかは、まずは自分で調べてみましょう。
業務ロジックって、この場合はWebサーバーで動作しているプログラムですよね。 上記のクライアント云々とどう結びつくのかわからんのですが。 | ||||||||
|
投稿日時: 2006-12-14 13:17
ちょっとのぞいてみたら、引用元が修正されている?
いや〜な予感がしたんですが、やっぱり的中か。 しかも、隠しただけで解決してないし。 たぶん、「部屋を片づける」と「見えないところに隠す」の区別も付けられないんだろう。 あのね、「Q.『高い』の反対語は?」って問いに 「高くない」って回答しても、○はもらえないよ。 まったく、甲斐のない・・・。 このBBSの敷居が、初心者にはちょっと高いとしても、 その原因の、少なくとも半分は、こういう輩のせいだと思う。 | ||||||||
|
投稿日時: 2006-12-14 13:25
投稿された、チェックするべき点をスルーしといてなにをほざくか。 私が手元で行っていることは完全無欠であって、チェックするべき事項などありません。 一発で解決できる方法だけを教えてください。 って書き換えてください。 | ||||||||
|
投稿日時: 2006-12-14 15:29
どうやらStrutsを使っているらしいことはわかりますが、それ以外の環境が書いていないし、
というのが具体的に何をしたのかわからないのですが、要するにクラスを参照できない 状態なので、そのクラスパスに指定、というのが間違っているのでしょう。Struts ならWebアプリケーションでしょうから、WEB-INF/libにそれらのjarファイルを入れて おけばいいのでは? |
1